2009-05-07 13 views
1

Ich möchte MS Office-Automatisierung verwenden und Event-Handler haben, die für benutzergesteuerte Ereignisse ausgelöst werden. Wenn der Benutzer beispielsweise auf die Schaltfläche Speichern in Word klickt, möchte ich dieses Ereignis abfangen und Code in meinem Programm ausführen.Behandlung von Ereignissen für spät gebundene Objekte

Ich möchte nicht an eine bestimmte Version von Word gebunden werden, da ich nicht weiß, welche Version mein Benutzer ausführen wird, damit ich einen Verweis auf Word mit späte Bindung instanziieren.

Das Problem besteht darin, dass die Befehle AddHandler und Dim WithEvents bestimmte Verweise auf ein Objekt benötigen, das zur Entwurfszeit bekannt ist. Wie kann ich einen Event-Handler definieren, ohne einen frühen gebundenen Verweis auf eine bestimmte Version der Word-Bibliothek zu haben?

Ich kann versuchen, einen Verweis auf eine frühere Version von Word mit der Erwartung, dass neuere Versionen von Word rückwärtskompatibel sein werden, aber das scheint klugdy und riskant.

Gibt es einen besseren Weg, ohne unter den Abdeckungen zu weit zu basteln?

Antwort

-1

Ich glaube nicht, dass dies möglich ist, da es keine Möglichkeit gibt zu garantieren, was Sie binden, ein Ereignis dieses Namens mit der gleichen Signatur haben wird.

+0

Sicher - aber das gilt auch für spät gebundene Methoden und Eigenschaften, die gut funktionieren (oder eine Ausnahme zur Laufzeit auslösen). – Govert

Verwandte Themen