2010-08-18 14 views
5

Ce que je veux finalement faire est ShellExecute() un programme de ligne de commande chaque fois qu'une nouvelle diapositive apparaît dans mon diaporama PowerPoint. J'utilise Office 2003 PowerPoint.Comment puis-je appeler Powerpoint pour appeler ma sous-routine VBA dans une animation?

j'ai fait ce qui suit:

  1. Outils > options > Options de sécurité > sécurité Macro > Niveau de sécurité = Moyen

  2. Outils > options > Macro > VBA Editeur:

    Sub OnSlideShowPageChange(ByVal SSW As SlideShowWindow) 
        MsgBox ("OnSlideShowPageChange") 
    End Sub 
    
  3. Fichier > Enregistrer

  4. Retour à PowerPoint: F5 (pour le diaporama > Voir Show). n'a pas vu le message

  5. Quittez PowerPoint, ouvrez à nouveau le fichier .ppt, F5) à nouveau. ne voient toujours pas la boîte de message

Question: Qu'est-ce que je manque? Pourquoi ne pas OnSlideShowPageChange être invoqué lorsque je lance le diaporama?

Répondre

3

Cela fonctionne très bien pour moi, en utilisant exactement vos étapes ci-dessus. La seule chose à laquelle je peux penser est à l'étape 2 ci-dessus, vous avez peut-être mis l'automacro OnSlideShowPageChange dans une classe ou UserForm. Il devrait aller dans un module (n'importe quel module, n'importe quel nom). Ou avez-vous d'autres codes susceptibles d'interférer, comme si vous étiez en train de couler l'événement SlideShowNextSlide?

+0

Salut, Otaku - merci beaucoup. Cela fonctionne à nouveau. J'ai fait ce qui suit: 1. Tout sauvegardé dans une "ancienne" version du fichier (créé à l'origine avec PPT 2003, mais je jonglais entre 2003 et 2007!) 2. Re-ajouté (de la " old "," virgin ") file l'extrait ci-dessus 3. Ajouté à un module (PAS un module de classe ou un formulaire, selon vos conseils) ... et cela a fonctionné! Merci beaucoup! – paulsm4

+0

@paulsm: super d'entendre ça a marché! –

+0

@ paulsm4, puis-je vous demander de regarder cette question sur un autre sujet: http://stackoverflow.com/questions/11116963/bangla-language-not-displayed-in-the-unicoded-csv-file? –