Microsoft KB Archive/201543

= PPT2000: Running Windows Media Player via VBA =

Article ID: 201543

Article Last Modified on 10/11/2006

-

APPLIES TO


 * Microsoft PowerPoint 2000 Standard Edition

-



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

