Home | About | Add-ins | Insert | Blog | Resources | Contact | Help



side step




Saturday, August 11, 2007

Rewind Flash Movies Using VBA

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...

Labels: ,

3 Comments:

At April 18, 2008 1:55 PM , Anonymous Anonymous said...

i try to get it with ppt 2003 and it doesn't work:( why???

 
At April 20, 2008 9:59 AM , Blogger Geetesh said...

Can you explain in more detail where you get stuck?

 
At April 23, 2008 7:43 PM , Anonymous Anonymous said...

i copy this code (or the code from here http://support.microsoft.com/kb/291876/en-us) and do all, what here is described, all points, but it does not work anyway. my flash does not react to any functions, any events... it plays always forward.

p.s. sorry for my english:)

 

Post a Comment

Links to this post:

Create a Link

<< Home



AddThis Social Bookmark Button

Digg this   Post to del.icio.us   StumbleUpon   Post to Furl   Googlize this page   Post to Netscape   Post to Reddit   Add to Technorati favorites   Add to BlinkList   Yahoo! MyWeb   Windows Live Favorites



Archive:
August 2007
September 2007
October 2007
April 2008

 

Home | About | Add-ins | Insert | Blog | Resources | Contact | Help | Disclaimer

javascript hit counter