COM-Addin und Applications-Events von Word

04/06/2009 - 13:32 von Udo Riesmeier | Report spam
Hallo,

ich habe ein Word-AddIn, welches im AddIn-Interface das Application -Objekt
in der Funktion AddinInstance_OnConnection ein Variable zuweisen tut:
Private WithEvents oWord As Word.Application

Private Sub AddinInstance_OnConnection(ByVal Application As Object, _
ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, _
ByVal AddInInst As Object, custom() As Variant)
set oWord =Application
...
...

soweit so gut... ich bekomme nun allerhand Events... funktioniert auch bei
(ohne zu übertreiben) hunderten Kunden so..

aber!!!

Nun habe ich einen Kunden, bei denen bekomme ich alle Events .. bei einigen
Rechner bekomme ich aber keine.
Das einzige was da noch kommt ist WindowActivate und WindowDeactivate, die
Events, wie DocumentBeforeSave, NewDocument usw. bekomme ich da nicht.

Gibt es also irgendwo eine Sicherheitseinstellung in Word, die die Events an
das AddIn ggf. blockt oder einschrànkt?
(der Kunde hat 2003 und 2007 im Einsatz, scheint aber nicht von der Version
abhàngig zu sein, da wir dort sowohl funktionierende bzw.
nichtfunktionierende Arbeitplàtze mit beiden Versionen ahben)


Gruß

Udo
 

Lesen sie die antworten

#1 Reiner Wolff
07/06/2009 - 11:05 | Warnen spam
Moin Udo,

*Udo Riesmeier* schrieb:
ich habe ein Word-AddIn,



Du schriebst im Betreff etwas von COM-AddIn. Wodrin erstellst Du das denn?
In Word oder in VB?
Ein "einfaches" Word-AddIn hat - wie ich gelernt habe - die DateiEndung
'.dot' und wird einfach mit geladen.

welches im AddIn-Interface das Application -Objekt
in der Funktion AddinInstance_OnConnection ein Variable zuweisen tut:
Private WithEvents oWord As Word.Application

Private Sub AddinInstance_OnConnection(ByVal Application As Object, _
ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, _
ByVal AddInInst As Object, custom() As Variant)
set oWord =Application



Ja, Standard für COM-AddIns.

soweit so gut... ich bekomme nun allerhand Events... funktioniert auch bei
(ohne zu übertreiben) hunderten Kunden so..
aber!!!
Nun habe ich einen Kunden, bei denen bekomme ich alle Events .. bei einigen
Rechner bekomme ich aber keine.



Ich habe ein bisschen Verstàndnisschwierigkeiten.
Ich habe noch nie nicht wissentlich ein Event "bekommen".
Suche Dir doch mal eine der folgenden Varianten aus:
[ ] Die Events werden an einigen Rechnern nicht ausgelöst
[ ] Die Events werden mir in der Entwicklungsumgebung nicht angezeigt
[ ] etwas anderes ist das Problem

Das einzige was da noch kommt ist WindowActivate und WindowDeactivate, die
Events, wie DocumentBeforeSave, NewDocument usw. bekomme ich da nicht.

Gibt es also irgendwo eine Sicherheitseinstellung in Word, die die Events an
das AddIn ggf. blockt oder einschrànkt?



Mir nicht bekannt.
Die bereitgestellten Ereignisse für WithEvents hàngen doch eigentlich "nur"
von dem Word-Verweis ab, den Du in Deinem Projekt benutzt hast. Versuche
auf den ProblemRechnern doch mal in Excel-VBA einen Verweis auf Word zu
setzen und eine Objektvariable mit WithEvents zu deklarieren. Welche
Ereignisse werden Dir dort zur Verfügung gestellt?

(der Kunde hat 2003 und 2007 im Einsatz, scheint aber nicht von der Version
abhàngig zu sein, da wir dort sowohl funktionierende bzw.
nichtfunktionierende Arbeitplàtze mit beiden Versionen ahben)



Mir fallen dazu noch ein paar mögliche Stolpersteine ein:
Mit welcher Word-Version entwickelst Du?
Welche Version hat die Word-DLL auf die Dein Verweis zeigt?
Setzt der Kunde 2003 _und_ 2007 auf einer Maschine ein?
-> dann würde ich es mal mit einer neuen Registrierung von Word probieren
Ach ja und die Standards:
- Sind die Syseteme und das Office auf dem aktuellen SP-Level?
- findest Du zu dem Problem irgendwelche Eintràge in den
Ereignisprotokollen?

HTH
Gruß aus Kiel
Reiner
In der Welt der EDV enden Pannen nicht, sondern gehen ineinander über.

Ähnliche fragen