Question

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

Was it helpful?

Solution

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?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top