Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I get Powerpoint to call my VBA subroutine in an animation?

Tags:

powerpoint

vba

What I ultimately want to do is ShellExecute() a command-line program every time a new slide appears in my PowerPoint slide show. I'm using Office 2003 PowerPoint.

I did the following:

  1. Tools > Options > Security Options > Macro Security > Security Level = Medium

  2. Tools > Options > Macro > VBA Editor:

    Sub OnSlideShowPageChange(ByVal SSW As SlideShowWindow)
      MsgBox ("OnSlideShowPageChange")
    End Sub
    
  3. File > Save

  4. Back to PowerPoint: F5 (for Slide Show > View Show). Did NOT see the message box

  5. Exit out of PowerPoint, reopen the .ppt file, F5) again. Still don't see the message box

Question: What am I missing? Why isn't OnSlideShowPageChange getting invoked when I run the slide show???

like image 980
paulsm4 Avatar asked Aug 18 '10 23:08

paulsm4


People also ask

How do I enable VBA in PowerPoint?

Press ALT+F11 to start PowerPoint's VBA editor.

How do I automatically run a macro in PowerPoint?

Start PowerPoint from command line and use the /M switch to have PowerPoint run a specified macro when it starts a named presentation file. The easiest way to do this is to create a shortcut to the PowerPoint application. Then go to the Properties window for the shortcut and select the Shortcut tab.


1 Answers

It's working just fine for me, using exactly your steps above. The only think I can think of is on step #2 above, you may have put the automacro OnSlideShowPageChange in a Class or UserForm. It should go into a Module (any module, any name). Or do you have other code in there that may be interfering, like are you also sinking the SlideShowNextSlide event?

like image 121
Todd Main Avatar answered Oct 08 '22 13:10

Todd Main