Guten Tag zusammen,
Ich habe ein einfaches Macro, mit dem ich aus Excel E-Mails mit variablem Inhalt in Outlook erstelle, siehe unten.
Es funktioniert soweit gut, bis auf einen Punkt:
Als Absender der E-Mail erscheint bei Outlook zwar der eingetragene Absender (.SentOnBehalfOfName = beispiel@domain.de), die E-Mail wird aber dennoch von meinem Standard-Email-Konto abgesendet.
Wie kann ich das beheben?
Besten Dank für eure Hilfe.
Mfg GodOfGrain
___________
Sub EMail_ASD()
Dim objOutlook As Object
Dim objMail As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.To = X
.Subject = Y
.SentOnBehalfOfName = "beispiel@domain.de"
.Body = TEXT
End With
End Sub
Hallo,
mal aus der OH zu Outlook-VBA rausgezogen. Keine Ahnung ob es dir hilft.
Zitat:Outlook-Entwicklerreferenz
MailItem.SendUsingAccount-Eigenschaft
Gibt ein Account-Objekt zurück, das das Konto darstellt, unter dem das MailItem-Objekt gesendet wird, oder legt dieses Objekt fest. Wert mit Lese-/Schreibzugriff.
Versionsinformationen
Hinzugefügte Version: Outlook 2007
Syntax
Ausdruck.SendUsingAccount
Ausdruck Ein Ausdruck, der ein MailItem-Objekt zurückgibt.
Anmerkungen
Mithilfe der SendUsingAccount-Eigenschaft kann das Konto angegeben werden, das zum Senden des MailItem-Objekts verwendet werden soll, wenn die Send-Methode aufgerufen wird. Diese Eigenschaft gibt Null (Nothing in Visual Basic) zurück, wenn das für das MailItem-Objekt angegebene Konto nicht mehr vorhanden ist.
Beispiel
Das folgende Codebeispiel in Microsoft Visual Basic für Applikationen zählt die Accounts-Auflistung auf, um ein POP3-Konto zu finden. Sobald das Konto gefunden wurde, wird programmgesteuert eine Nachricht erstellt und dem POP3-Konto die SendUsingAccount-Eigenschaft zugewiesen. Beachten Sie, dass dieSendUsingAccount-Eigenschaft zugewiesen werden muss, bevor die Send-Methode aufgerufen wird.
Visual Basic für Applikationen
Sub SendUsingAccount()
Dim oAccount As Outlook.account
For Each oAccount In Application.Session.Accounts
If oAccount.AccountType = olPop3 Then
Dim oMail As Outlook.MailItem
Set oMail = Application.CreateItem(olMailItem)
oMail.Subject = "Sent using POP3 Account"
oMail.Recipients.Add ("someone@example.com")
oMail.Recipients.ResolveAll
oMail.SendUsingAccount = oAccount
oMail.Send
End If
Next
End Sub
© 2010 Microsoft Corporation. Alle Rechte vorbehalten.
Siehe auch
MailItem (Objekt)
Elemente des MailItem-Objekts
Vorgehensweise-: Senden einer E-Mail-Nachricht mithilfe der SMTP-Adresse eines Kontos
Hallo,
mal ganz einfach dein Makro erweitert:
Code:
Sub EMail_ASD()
Dim objOutlook As Object
Dim objMail As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.To = X
.Subject = Y
.Body = TEXT
.SendUsingAccount = OutApp.Session.Accounts.Item(1) ' hier testen, welche Zahl das richtige Konto ist.
End With
End Sub
klappt's?
Grüße, Ulrich
(10.04.2018, 13:32)losgehts schrieb: [ -> ]Hallo,
mal ganz einfach dein Makro erweitert:
[...]
klappt's?
Grüße, Ulrich
Leider nicht. Ich erhalte den Laufzeitfehler 424 ("Objekt erforderlich")
Also ich hab mal die Zahlen 1-5 durchprobiert, und immer kommt diese Meldung.
".SendUsingAccount" sollte mich aber weiter bringen... ich schau da morgen mal genauer rein :)