6 votes

Comment faire pour que Powerpoint appelle ma sous-routine VBA dans une animation ?

Ce que je veux faire en fin de compte, c'est ShellExecute() un programme en ligne de commande chaque fois qu'une nouvelle diapositive apparaît dans mon diaporama PowerPoint. J'utilise Office 2003 PowerPoint.

J'ai fait ce qui suit :

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

  2. Outils > Options > Macro > Éditeur VBA :

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

  4. Retour à PowerPoint : F5 (pour le diaporama > View Show). Je n'ai PAS vu la boîte de message

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

Question : Qu'est-ce que je rate ? Pourquoi n'est-ce pas OnSlideShowPageChange qui est invoqué lorsque je lance le diaporama ???

3voto

Todd Main Points 24036

Cela fonctionne très bien pour moi, en utilisant exactement vos étapes ci-dessus. La seule chose à laquelle je pense est qu'à l'étape 2 ci-dessus, vous avez peut-être mis l'automacro OnSlideShowPageChange dans une classe ou un formulaire utilisateur. Il doit être placé dans un module (n'importe quel module, n'importe quel nom). Ou bien vous avez d'autres codes qui peuvent interférer, comme par exemple le fait d'enfoncer le module SlideShowNextSlide événement ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X