2009-05-07 10 views
1

Je souhaite utiliser MS Office Automation et disposer de gestionnaires d'événements qui déclenchent les événements déclenchés par l'utilisateur. Par exemple, si l'utilisateur clique sur le bouton Enregistrer dans Word, je souhaite intercepter cet événement et exécuter du code dans mon programme. Je ne veux pas être lié à une version spécifique de Word, car je ne sais pas quelle version sera utilisée par mon utilisateur, donc j'instancie une référence à Word en utilisant une liaison tardive.Gestion des événements pour les objets liés en retard

Le problème est que les commandes AddHandler et Dim WithEvents requièrent des références spécifiques à un objet connu au moment du design. Étant donné cela, comment puis-je définir un gestionnaire d'événements sans avoir une référence liée à une version spécifique de la bibliothèque Word?

Je peux essayer de faire référence à une version antérieure de Word dans l'espoir que les nouvelles versions de Word seront rétrocompatibles, mais cela semble kludgey et risqué.

Existe-t-il un meilleur moyen de ne pas trop bricoler sous les couvercles?

Répondre

-1

Je ne crois pas que ce soit possible car il n'y a aucun moyen de garantir que ce que vous liez aura un événement de ce nom avec la même signature.

+0

Bien sûr, mais cela est tout aussi vrai pour les méthodes et les propriétés à liaison tardive, qui fonctionnent bien (ou lancent une exception lors de l'exécution). – Govert