Zum Inhalt springen
  • 0

VBA - Mail erstellen


Axel.Korte

Frage

Hallo und guten Abend,

erstmals stehe ich vor einem VBA Problem und suche hier - hoffentlich erfolgreich - Hilfe.

Ich möchte mit einem VBA-Script eine Mail an Outlook zur weiteren Bearbeitung übergeben. Bis auf die Übergabe der Absender-EMailadresse funktioniert alles. Hier mein Script:

    Dim objOutlook As Outlook.Application
    Dim objMail As Outlook.MailItem
    Dim objAccount As Outlook.Account

    Set objOutlook = New Outlook.Application
    Set objMail = objOutlook.CreateItem(olMailItem)

    With objMail
        .objAccount = Me.Absender                        ' Fehler 438 Objekt unterstützt diese Eigenschaft oder Methode nicht
        .Recipients.ADD Empfaenger(0)
        If Empfaenger(1) <> "" Then .CC = Empfaenger(1)
        If Empfaenger(2) <> "" Then .BCC = Empfaenger(2)
        .Subject = Me.Subject
        .BodyFormat = olFormatHTML
        .HTMLBody = Me.Mail
        .Display
    End With

An der Rot-markierten Stelle kommt der Fehler 438 und ich weiß mir keinen Rat. In Me.Absender steht die EMail-Absenderadresse als String.

Vielleicht hat ja schon jemand dieses Problem gelöst - hoffe ich - und kann mir helfen?

Vielen Dank im Voraus.

Axel Korte

Link zu diesem Kommentar
Auf anderen Seiten teilen

5 Antworten auf diese Frage

Empfohlene Beiträge

  • 0

Hallo,

ich kenne mich mit VBA nicht aus, aber du erstellst objAccount ja als eigenes Objekt und versuchst dieses dann als Methode bzw. Eigenschaft von deinem Objekt objMail aufzurufen, wenn ich das richtig sehe. Aber objMail hat ja so gesehen erst einmal keine Verbindung mit objAccount und schon gar nicht als Eigenschaft bzw. Methode.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 0

Guten Abend,

ich habe, dank Ihrer aller Hilfe das Problem lösen können. Hier der korrekte Code, falls jemand auf ein ähnliches Problem stößt:

Dim objOutlook As Outlook.Application
Dim objMail As Outlook.MailItem
Dim objAccount As Outlook.Account

Set objOutlook = New Outlook.Application
Set objMail = objOutlook.CreateItem(olMailItem)

If Me.Absender <> "" Then
    For Each objAccount In objOutlook.Session.Accounts
        If objAccount.DisplayName = Me.Absender Then Exit For
        Set objAccount = Nothing
    Next objAccount
Else
    Set objAccount = Nothing
End If

With objMail
    If Not objAccount Is Nothing Then
        .SendUsingAccount = objAccount
    Else
        MsgBox "Account ''" &  Absender & "'' nicht gefunden.", vbCritical, "Hinweis"
    End If

    .Recipients.ADD Empfaenger(0)

    If Empfaenger(1) <> "" Then .CC = Empfaenger(1)
    If Empfaenger(2) <> "" Then .BCC = Empfaenger(2)

    .Subject = Me.Subject
    .BodyFormat = olFormatHTML
    .HTMLBody = Me.Mail
    .Display
End With
Interessant ist dabei, dass in .SendUsingAccout nicht die EMail-Adresse sondern die Bezeichnung des Kontos im Outlook steht.

 

Vielen Dank nochmals und eine besinnliche Weihnachtszeit.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Diese Frage beantworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...