PPT97: Running Windows Media Player via VBA

ID: Q201543


The information in this article applies to:


SUMMARY

The following code example shows how to control a Windows Media Player ActiveX object control in a presentation using Visual Basic for Applications (VBA). This allows you to run several different movies from one object and several action buttons.


MORE INFORMATION

Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft Support professionals can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs. If you have limited programming experience, you may want to contact the Microsoft fee-based consulting line at (800) 936-5200. For more information about the support options available from Microsoft, please see the following page on the World Wide Web:

http://www.microsoft.com/support/supportnet/refguide/
NOTE: The following code sample assumes you have a slide that contains a Windows Media Player ActiveX object and two (or more) action buttons. To add a Windows Media Player ActiveX object, follow these steps:
  1. On the View menu, point to Toolbars, and click Control Toolbox.


  2. On the Control Toolbox, click More Tools.


  3. On the list of available ActiveX Controls, click Windows Media Player.


  4. Draw the control somewhere on your slide. You may want to drag the control to the gray area outside the actual slide area.


  5. To start the Visual Basic Editor in the code module for the current slide, double-click the control.


  6. Replace the existing code with the following sample code. In order for this code to work, it cannot be in its own module. It must be in the module that corresponds to the slide from which it will be run.


Sample Visual Basic Procedure


Const strPATHNAME As String = "C:\videos\"
'Change this line to the path where your movie files are stored.
'Be sure to include the trailing backslash!

Private Sub MediaPlayer1_EndOfStream(ByVal Result As Long)
'Check to see if the movie has ended. If so, then set the
'control's visibility to false and turn off autostart.
   Dim strName As String

   If Result = 0 Then
      strName = ""
      With MediaPlayer1
         .Visible = False
         .AutoStart = False
         .FileName = strName
      End With
      SlideShowWindows(1).View.GotoSlide 1, msoTrue
   End If
End Sub

Sub startme1()
'This is attached to an action button
   Dim strName As String
   'Set the file name to movie you want to play
   strName = strPATHNAME & "movie1.avi"
   RunMovie strName
End Sub

Sub startme2()
'This is attached to an action button
'You can have as many of these as you want.
'Just copy startme1 and paste into the project,
'making sure you change the name of the subroutine.
   Dim strName As String

   'Set the file name to movie you want to play
   strName = strPATHNAME & "movie2.avi"
   RunMovie strName
End Sub

Sub RunMovie(strName As String)
'This function sets the various parameters, then resets
'the slide as the last step.
   With MediaPlayer1
      .AutoStart = True
      .DisplaySize = mpFullScreen
      'You can choose whatever size you want for the playback
      'of the movie with the .DisplaySize method.

      .Visible = True<BR/>
      .EnableFullScreenControls = False
      .EnablePositionControls = False
      .EnableTracker = False
      .FileName = strName
   End With
   SlideShowWindows(1).View.GotoSlide 1, msoTrue
Sub Function 


REFERENCES

For additional information, please see the following article in the Microsoft Knowledge Base:

ARTICLE-ID: Q173707
TITLE: OFF97: How to Run Sample Code from Knowledge Base Articles
For more information about getting help with Visual Basic for Applications, please see the following article in the Microsoft Knowledge Base:
ARTICLE-ID: Q163435
TITLE: VBA: Programming Resources for Visual Basic for Applications
For information about how to use ActiveX controls, please see the following article in the Microsoft Knowledge Base:
ARTICLE-ID: Q168409
TITLE: PPT97: How To Manipulate ActiveX Controls Through VBA Macros

Additional query words: vba OFF2000


Keywords          : kbole kbdta kbdtacode OffVBA 
Version           : WINDOWS:97
Platform          : WINDOWS 
Issue type        : kbhowto 

Last Reviewed: May 19, 1999