2017-05-08 2 views
0

Un quiz a été créé à l'aide de PowerPoint. Chaque question a des réponses à choix multiple. Pour chaque réponse, un lien hypertexte a été créé soit pour l'envoyer à une diapositive indiquant une réponse correcte (un seul) ou une diapositive indiquant une réponse incorrecte (tous les autres). Il doit capturer quelle réponse l'utilisateur a cliqué. Le bon est facile car une seule réponse ouvre la bonne diapositive, mais toutes les réponses incorrectes vont à la même diapositive.PowerPoint: suivi du lien hypertexte appelé une diapositive

Existe-t-il un moyen de capturer quel objet/lien/identifiant de lien hypertexte, etc. qui a "appelé" une diapositive? J'espère pouvoir éviter d'écrire des événements distincts pour chaque hyperlien. Est-il possible de le capturer dans l'événement d'application. J'ai le code suivant.

Code Classe:

Public WithEvents PPTEvent As Application 

Private Sub PPTEvent_SlideShowNextSlide(ByVal Wn As SlideShowWindow) 
    MsgBox ActivePresentation.Slides.Item(1).SlideNumber 


End Sub 

Répondre

0

PowerPoint prend en charge les paramètres d'action pour exécuter une macro. Définir la macro comme suit:

Sub ClickMe(Shp As Shape) 
MsgBox Shp.Name 
End Sub 

Maintenant, réglez le paramètre action pour exécuter cette macro et voir comment est passé la référence de forme le long. Vous pouvez l'utiliser pour éviter d'utiliser des événements tout à fait. Conduisez le quiz en utilisant le code.

+0

Les paramètres d'action sont déjà définis sur un lien hypertexte. Je ne pense pas que cela puisse aussi être une macro. – JeffO

+0

Vous ne pouvez pas faire les deux mais si vous le réglez sur macro alors dans votre macro, vous pouvez ouvrir la diapositive correcte. –

+0

Notez que cela ne fonctionnera pas sur Mac. Il existe une solution de contournement qui fonctionne sur PC ou Mac ici: Déterminez quelle forme a été cliquée http://www.pptfaq.com/FAQ00141_Determine_which_shape_was_clicked.htm –