PPT2000: Running Windows Media Player via VBA (201543)



The information in this article applies to:

  • Microsoft PowerPoint 2000

This article was previously published under Q201543

SUMMARY

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

NOTE: The Microsoft PowerPoint Viewer does not support the use of ActiveX controls, nor do any of the Macintosh versions of PowerPont. Only Microsoft PowerPoint 97, Microsoft PowerPoint 2000, and Microsoft PowerPoint 2002 can activate and use ActiveX controls.

MORE INFORMATION

Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers 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 requirements. NOTE: The following macro examples work only in PowerPoint. Visual Basic for Applications macros are not supported by the Microsoft PowerPoint Viewer. For additional information, click the following article number to view the article in the Microsoft Knowledge Base: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. In the Control Toolbox, click More Tools.
  3. In 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, but
'make sure you change the name of the subroutine.
   Dim strName As String

   'Set the file name to the 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
      .EnableFullScreenControls = False
      .EnablePositionControls = False
      .EnableTracker = False
      .FileName = strName
   End With
   SlideShowWindows(1).View.GotoSlide 1, msoTrue
End Sub
				

REFERENCES

For more information about how to use the sample code in this article, click the article number below to view the article in the Microsoft Knowledge Base:

212536 OFF2000: How to Run Sample Code from Knowledge Base Articles

For additional information about getting help with Visual Basic for Applications, click the article number below to view the article in the Microsoft Knowledge Base:

226118 OFF2000: Programming Resources for Visual Basic for Applications

For additional information about using ActiveX controls, click the article number below to view the article in the Microsoft Knowledge Base:

222703 PPT2000: How To Manipulate ActiveX Controls Through VBA Macros


Modification Type:MinorLast Reviewed:10/11/2006
Keywords:kbdtacode kbhowto KB201543