2010-08-18 9 views
5

Quello che alla fine voglio fare è ShellExecute() un programma da riga di comando ogni volta che una nuova diapositiva appare nella mia presentazione di PowerPoint. Sto usando Office 2003 PowerPoint.In che modo Powerpoint può richiamare la mia subroutine VBA in un'animazione?

ho fatto la seguente:

  1. Strumenti > Opzioni > Opzioni di protezione > Macro Sicurezza > livello di sicurezza = Medie

  2. Strumenti > Opzioni > Macro > VBA Editor:

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

  4. Torna a PowerPoint: F5 (per Slide Show > Visualizza presentazione). non ha visto la finestra di messaggio

  5. Uscire da PowerPoint, riaprire il file .ppt, F5) di nuovo. Ancora non si vede la finestra di messaggio

Domanda: Che cosa mi manca? Perché non viene richiamato OnSlideShowPageChange quando eseguo la presentazione ???

risposta

3

Funziona perfettamente per me, utilizzando esattamente i passaggi sopra riportati. L'unico pensiero che posso pensare è al punto # 2 sopra, potresti aver messo l'automacro OnSlideShowPageChange in una classe o in un Form utente. Dovrebbe andare in un modulo (qualsiasi modulo, qualsiasi nome). O ci sono altri codici che potrebbero interferire, come se stessi affondando l'evento SlideShowNextSlide?

+0

Ciao, Otaku - grazie mille. Sta funzionando di nuovo. Ho fatto quanto segue: 1. Ho fatto il backup di tutto in una versione "vecchia" del file (creata originariamente con PPT 2003, ma giocavo avanti e indietro tra il 2003 e il 2007!) 2. Ri-added (from the " vecchio "," vergine ") archivia lo snippet sopra 3. Aggiunto a un modulo (NON un modulo di classe o un modulo, secondo il tuo consiglio) ... e ha funzionato! Grazie! – paulsm4

+0

@paulsm: bello sentire che ha funzionato! –

+0

@ paulsm4, posso chiederti di dare un'occhiata a questa domanda su un altro argomento: http://stackoverflow.com/questions/11116963/bangla-language-not-displayed-in-the-unicoded-csv-file? –