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:
-
Tools > Options > Security Options > Macro Security > Security Level = Medium
-
Tools > Options > Macro > VBA Editor:
Sub OnSlideShowPageChange(ByVal SSW As SlideShowWindow) MsgBox ("OnSlideShowPageChange") End Sub -
File > Save
-
Back to PowerPoint: F5 (for Slide Show > View Show). Did NOT see the message box
-
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???
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
OnSlideShowPageChangein 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 theSlideShowNextSlideevent?