2010-08-18 8 views
5

Was ich letztendlich tun möchte, ist ShellExecute() ein Befehlszeilenprogramm jedes Mal, wenn eine neue Folie in meiner PowerPoint-Bildschirmpräsentation angezeigt wird. Ich verwende Office 2003 PowerPoint.Wie bekomme ich Powerpoint, um meine VBA-Subroutine in einer Animation aufzurufen?

tat ich folgendes:

  1. Werkzeuge > Optionen > Sicherheitsoptionen > Makrosicherheit > Sicherheitsstufe = Medium

  2. Werkzeuge > Optionen > Makro > VBA Editor:

    Sub OnSlideShowPageChange(ByVal SSW As SlideShowWindow) 
        MsgBox ("OnSlideShowPageChange") 
    End Sub 
    
  3. Datei > Speichern

  4. Zurück zu Powerpoint: F5 (für Diashow > View Show). nicht sehen, das Meldungsfeld

  5. Beenden Sie Powerpoint, öffnen Sie die PPT-Datei, F5) wieder. noch nicht sehen, das Meldungsfeld

Frage: Was bin ich? Warum wird OnSlideShowPageChange nicht aufgerufen, wenn ich die Diashow starte ???

Antwort

3

Es funktioniert gut für mich, mit genau Ihren Schritten oben. Der einzige Gedanke, den ich mir vorstellen kann, ist in Schritt 2 oben, Sie könnten den Automacro OnSlideShowPageChange in eine Klasse oder UserForm gesetzt haben. Es sollte in ein Modul (irgendein Modul, irgendein Name) gehen. Oder hast du anderen Code, der dich stören könnte, wie sinkst du auch das SlideShowNextSlide Event?

+0

Hallo, Otaku - vielen Dank. Es funktioniert wieder. Ich habe folgendes getan: 1. Alles auf eine "alte" Version der Datei (ursprünglich erstellt mit PPT 2003, aber ich jongliert hin und her zwischen 2003 und 2007!) 2. Neu hinzugefügt (von der " alt "," virgin ") file das schnipsel über 3. hinzugefügt es zu einem modul (KEIN klasse modul oder ein formular, nach ihrem anrat) ... und es hat funktioniert! Vielen Dank! – paulsm4

+0

@paulsm: toll zu hören, es hat geklappt! –

+0

@ paulsm4, darf ich Sie bitten, sich diese Frage zu einem anderen Thema anzuschauen: http://stackoverflow.com/questions/11116963/bangla-language-not-displayed-in-the-unicoded-csv-file? –