Rewind Flash Movies Using VBA

Created: Saturday, August 11, 2007, posted by Geetesh Bajaj at 9:30 am



I already discussed why you would want to rewind your Flash movies, the ones you insert into PowerPoint slides.

Now let me show you how you can do that with a little VBA code. Remember though that this code is dependent on ActiveX controls that are not supported by both the free PowerPoint Viewer on Windows, and PowerPoint on the Mac. So this will only work on PowerPoint 97 or higher for Windows.

  1. First, create a backup copy of your presentation, just in case.
  2. Open the presentation in PowerPoint — this presentation must have a Flash movie inserted as per the instructions provided here…

  3. Make sure that the Loop option in the Property Pages dialog is left unchecked.
  4. Save the presentation.
  5. Press Alt F11 to bring up the Microsoft Visual Basic window (see Figure 1).


    Figure 1: The Visual Basic window is where you add code in PowerPoint.

  6. Choose Insert | Module. This adds a new module in the left pane, as you can see in Figure 2.


    Figure 2: A new module has been added.

  7. In the main window, add the following code, while making sure that the number in the 3rd line after the word “Slides” is the number of the slide in your presentation that contains the Flash movie.

    Sub OnSlideShowPageChange()
    Dim obj As ShockwaveFlash
    Set obj = ActivePresentation.Slides(2).Shapes(“ShockwaveFlash1”).OLEFormat.Object
    obj.Playing = True
    obj.Rewind
    obj.Play
    End Sub

    Figure 3 shows you the main window after the code was added:


    Figure 3: Code has been added.

    As you can see, the code simply sets the Playing property to true, rewinds the movie, and plays it.

    Also, if your presentation contains more than one Flash movie, you’ll need to repeat this process for each movie. However, change the numbering in the 3rd line again after the word ShockwaveFlash, so that you name them ShockwaveFlash1, ShockwaveFlash2, and so on. Then, in the Properties window, give the object the same name in the Name row, which is just under the Custom row (see Figure 4).


    Figure 4: Match the object names in the Visual Basic window, and the Property window.

  8. That’s all you need to do — return to your presentation, save it, and play it to test.

Remember, your macro security settings may stop the VBA code from executing. In PowerPoint, choose Tools | Options | Security | Macro Security, and make sure it isn’t set to High. In addition, coding in the Flash file itself may stop the movie from playing.

I wish to thank Ellen Finkelstein, author of How To Do Everything with PowerPoint 2007 for providing the VBA code used in this tutorial. You can visit Ellen’s site here…


Related Post

What is FlashBack? FlashBack is a free PowerPoint add-in from Shyam Pillai, a Microsoft PowerPoint MVP that rewinds a Flash movie so that it plays from the starting fram...
Rewind a Flash Movie? Why would you want to rewind a Flash movie placed in a PowerPoint slide? That's because in certain scenarios, the Flash movie you insert might not pla...
Insert the Control (PowerPoint 2007) I'm assuming you have the Developer tab of the ribbon enabled, have all the prerequisites installed, and have assembled everything in one folder.Now y...
Enable the Developer tab in the Ribbon The options that allow you to insert Flash movies in PowerPoint 2007 (and maybe later versions) are found in the Developer tab of the Ribbon.By defaul...

Filed Under: Insert, Rewind

8 Comments

Microsoft and the Office logo are trademarks or registered trademarks of Microsoft Corporation in the United States and/or other countries.

Plagiarism will be detected by Copyscape

© 2007-2019, Geetesh Bajaj - All rights reserved.

blog stats
since September 16, 2009