Wer seine Steuern zahlen kann, ohne Schulden machen zu müssen, ist ein reicher Mann. - Bing Crosby
emde IT-LÖSUNGEN
> Tel. 08131 / 99 69 80-0
> Kontakt per E-Mail
Automatisierungsfehler / Ausnahmefehler des Servers bei Objekten mit Late Binding
02. Oktober 2015
Wenn ich Funktionen zur Kommunikation von Access mit anderen Office-Programmen programmiere - also mit Excel, Word oder Outlook -, verwende ich Late Binding, um nicht die entsprechenden Bibliotheken einbinden zu müssen, weil man ansonsten immer mal wieder Probleme bei der Installation in unterschiedlichen Umgebungen bekommt.
Dann bekomme ich gelegentlich die Fehlermeldung "Automatisierungsfehler Ausnahmefehler des Servers". (Bei mir hat er gerade die Error Number -2147417851, aber ich weiß nicht, wie verbindlich diese ist :-)
Der Fehler tritt auf, wenn ich in der mit CreateObject() generierten Applikation auf einen Parameter meiner Funktion oder auf ein Feld im Formular zugreife, wie es z.B. in folgendem Code geschieht:
Function Mailversand(EmailAdresse) As Boolean Dim F As Form Dim OutApp As Object, Dim OutMail As Object Set F = Forms!Mailform Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(olMailItem) With OutMail .To = EmailAdresse .Subject = F!Subject ...
Ein Workaround für dieses Problem ist das Kopieren des Parameters bzw. Feldes in eine lokale Variable:
Function Mailversand(EmailAdresse) As Boolean Dim F As Form Dim OutApp As Object, Dim OutMail As Object Dim LocAdr As Variant, LocSubject As Variant Set F = Forms!Mailform LocAdr = EmailAdresse LocSubject = F!Subject Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(olMailItem) With OutMail .To = LocAdr .Subject = LocSubject ...