Lotus Notes / Domino 10 > ND10: Entwicklung
Cannot create automation object - Office 365
Sabine:
Schönen guten Morgen,
ich habe eine Rechnungsanwednung in Notes vor ein paar Jahren programmiert.
Aus dieser Anwendung werden automatisch Rechnungen in Word erstellt und gedruckt.
Gestern habe ich mein Office 2010 durch ein Office 365 ersetzt.
Seitdem bekomme ich bei der Rechnungserstellung aus Notes heraus in der Zeile
'Word Instanz öffnen
Set word = CreateObject("Word.Application") 'Create Word object
die Fehlermeldung "Cannot create automation object".
Ich vermutete, dass aus dem Office 2010 noch Reste im Regedit standen.
Diese habe ich nun auch bereinigt (https://it-blogger.net/office-2010-vollstaendig-entfernen-und-erneut-installieren/). Dennoch kommt immer noch der zuvor genannte Fehler.
Jetzt weiß ich wirklich nicht mehr weiter.... vielleicht kennt jemand dieses Problem und kann mir einen Tipp geben.
Vielen herzlichen Dank.
Gruß Sabine
P.S.: Dieses Forum habe ich bereits durchsucht, habe aber leider keine passende Lösung gefunden.
CarstenH:
Hallo Sabine,
bevor ich in Registry und Script abtauche eine kurze Frage: Hast du die 32-Bit oder die 64-Bit Version von O365 installiert?
Die Info findest du z.B. in Word unter: Datei > Konto > Button "Info zu Word" anklicken > oberste Zeile
Dort sollte dann sowas wie "Microsoft® Word für Microsoft 365 MSO (16.0.13929.20206) 32-Bit" stehen.
Hintergrund: wenn es die 64-Bit Version sein sollte brauchst du nicht weiter probieren, die ist nicht kompatibel mit 32-Bit Anwendungen.
Da hilft nur deinstallieren und durch die 32-Bit Version ersetzen - ansonsten muss man auf Interaktionen via OLE & Co. verzichten.
Gruß
Carsten
Sabine:
Hallo Carsten,
erst einmal vielen lieben Dank für Deine schnelle Antwort und die ausführliche Beschreibung wo ich die installierte Version finde.
Ich habe diese Office 365 Version installiert:
Microsoft® Word für Microsoft 365 MSO (16.0.13929.20206) 32-Bit
Viele Grüße
Sabine
CarstenH:
Super, eine Fehlerquelle weniger. Dann schauen wir mal ob's vielleicht am Code oder doch woanders (Objekt-Registrierung in Windows) liegt.
CreateObject("Word.Application") <= Sollte Word unsichtbar im Hintergrund starten, sieht man im Taskmanager als "WINWORD.EXE" im Reiter Details.
Ich habe mal einen Button mit Beispielcode erstellt der Word startet und ggf. sichtbar macht, hat bei mir in allen getesteten Varianten funktioniert.
Meldungen in der Statusbar ggf. durchsehen, einige Fehler sind normal damit man merkt ob man das Handle im Zugriff hat und werden dann entsprechend behandelt.
--- Code: ---Sub Click(Source As Button)
Dim wrd As Variant
Dim tmpErr As Integer
On Error Goto ERRHNDL
Print "Word bereits gestartet?"
Set wrd = GetObject(, "Word.Application")
If tmpErr <> 0 Then
Print "Word läuft nicht, versuche die Anwendung zu laden."
tmpErr = 0
Set wrd = CreateObject("Word.Application")
If tmpErr <> 0 Then
tmpErr = 0
Print "Word läuft bereits, Objekt-Handle holen."
Set wrd = GetObject(, "Word.Application")
Else
Print "Word gestartet, Objekt-Handle vorhanden."
End If
Else
Print "Word läuft bereits, Objekt-Handle vorhanden."
End If
If tmpErr <> 0 Then
Print "Houston - Wir haben immer noch ein Problem: " & Cstr(tmpErr)
Else
If Not wrd.visible Then
Print "Prozess 'Word.Application' wird sichtbar gemacht."
wrd.visible = True
End If
Print "OK"
End If
Exit Sub
ERRHNDL:
tmpErr = Err
Print "Fehler " & Cstr(Err) & " in Zeile " & Cstr(Erl) & ": " & Error$
Resume Next
End Sub
--- Ende Code ---
Sabine:
Ich habe das Script in eine Schaltfläche von einer Maske eingebaut.
Leider steht in der Statuszeile "Houston - Wir haben noch ein Problem: 208" 'gefällt mir ;-)'
Ich habe mal ein Screenshot von der Statuszeile diesem Beitrag angehängt.
Vielleicht hast Du ja noch eine Idee? Vielleicht liegt es wirklich an der Objekt-Registrierung in Windows?
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln