Registriert seit: 10.04.2018
Version(en): 2016
10.04.2018, 10:22
(Dieser Beitrag wurde zuletzt bearbeitet: 10.04.2018, 10:23 von GodOfGrain.)
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
Registriert seit: 11.04.2014
Version(en): Office 2007
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
Gruß Stefan
Win 10 / Office 2016
Registriert seit: 02.08.2014
Version(en): 2016
10.04.2018, 14:32
(Dieser Beitrag wurde zuletzt bearbeitet: 10.04.2018, 14:33 von losgehts.)
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
Registriert seit: 10.04.2018
Version(en): 2016
(10.04.2018, 14: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.
Registriert seit: 10.04.2018
Version(en): 2016
".SendUsingAccount" sollte mich aber weiter bringen... ich schau da morgen mal genauer rein :)
Registriert seit: 10.04.2018
Version(en): 2016
Google-Suche über den Send_Using_Account Befehl hat mich hierhin geführt:
https://www.rondebruin.nl/win/s1/outlook/account.htmFunktioniert.
Vielen Dank und LG
Grain