Чтобы использовать событие SlideShowBegin в Powerpoint, у вас должен быть модуль класса, настроенный следующим образом:
Public WithEvents App As Application
Private Sub App_SlideShowBegin(ByVal Wn As SlideShowWindow)
MsgBox "SlideShowBegin"
End Sub
Затем внутри модуля класса, отличного от -, вы должны создать объект этого типа и установите App в Application.
Dim X As New Class1
Sub InitializeApp()
Set X.App = Application
End Sub
Единственная проблема, с которой я столкнулся, это то, что если вы вручную не вызвали InitializeApp с помощью меню макросов в Powerpoint, события не сработают. Вы должны вызвать эту подпрограмму, прежде чем что-либо может быть вызвано в начале слайд-шоу, ВКЛЮЧАЯ эту подпрограмму.
Как я могу вызвать эту подпрограмму перед запуском PowerPoint? Есть лучший способ сделать это?
РЕДАКТИРОВАТЬ:
Я пытался использовать класс _Initialize, но он вызывается только после первого использования или вы делаете заявление типаDim X as Class1; X = new Class1