VBA-generierte Mail hängt im Postausgang
11.10.2022 18:44:01
Martin
Sub EMailVersendenOutlook()
Dim obNachricht As Object
Dim obMail As Object
Set obMail = CreateObject("Outlook.Application")
Set obNachricht = obMail.CreateItem(0)
With obNachricht
.To = "empfaenger@domain.com"
.Subject = "Test"
.Body = "Test"
.Display
End With
Set obNachricht = Nothing
Set obMail = Nothing
End Sub
Wenn ich diesen Code ausführe, öffnet sich -unabhängig davon, ob Outlook schon geöffnet ist- sofort eine neue Outlook-Nachricht. Nach dem Klick auf Senden schließt sich das Fenster wieder.Wenn Outlook bereits geöffnet war, wird die Mail auch tatsächlich sofort versandt.
War Outlook hingegen noch nicht geöffnet, geht die Mail nicht raus, sondern bleibt im Postausgang liegen. Erst wenn ich Outlook tatsächlich öffne, erfolgt der Versand.
Exakt den gleichen Code verwende ich auch innerhalb einer Citrix-Umgebung, wo die gleichen Versionen von Excel und Outlook laufen. Hier bewirkt das Ausführen des Codes bei geschlossenem Outlook zunächst, dass Outlook startet, ehe das Fenster mit der neu generierten Outlook-Nachricht erscheint.
Ich verstehe dieses unterschiedliche Verhalten nicht. Ich verstehe auch gar nicht, wie das Notebook die Outlook-Nachricht darstellen kann, solange Outlook noch gar nicht geöffnet ist.
Lässt sich der VBA-Code irgendwie dahingehend ändern, dass zuerst geprüft wird, ob Outlook schon geöffnet ist, und falls nicht, es zunächst öffnet?
Ich suche mir hier schon seit Wochen einen Wolf und bin für alle Tipps dankbar.