Mails direkt aus Excel in VBA erstellen und versenden
Hallo Leute, ich möchte Mails direkt aus Excel in VBA erstellen und versenden. Ich schaffe es, das die Mail erstellt wird. Aber das absenden funktioniert einfach nicht. Was mache ich da falsch. Hat da jemand einen Tipp für mich?
[Betreff vom Moderator bearbeitet]
Sub PrepareEmailsFromListObject()
Dim ws As Worksheet
Dim lo As ListObject
Dim lr As ListRow
Dim MacScriptCommand As String
Dim Recipient As String
Dim Subject As String
Dim Body As String
Dim Name As String
Dim Anrede As String
Dim Betrag As String
' Setze das Arbeitsblatt und das ListObject
Set ws = ThisWorkbook.Sheets("Tabelle1")
Set lo = ws.ListObjects("MAIL")
' Schleife durch alle Zeilen im ListObject
For Each lr In lo.ListRows
' Empfänger, Name, Anrede und Betrag aus den Spalten holen
Recipient = lr.Range.Cells(1, lo.ListColumns("MAIL").Index).Value
Name = lr.Range.Cells(1, lo.ListColumns("NAME").Index).Value
Anrede = lr.Range.Cells(1, lo.ListColumns("Anrede").Index).Value
Betrag = lr.Range.Cells(1, lo.ListColumns("Betrag").Index).Value
' Betreff und Nachrichtentext erstellen
Subject = "Wichtige Information für " & Name
Body = Anrede & " " & Name & "," & vbCrLf & vbCrLf & _
"Hiermit informieren wir Sie über einen Betrag in Höhe von " & Betrag & "." & vbCrLf & vbCrLf & _
"Mit freundlichen Grüßen," & vbCrLf & "Ihr Team"
' AppleScript-Kommando definieren, um die Mail zu erstellen
MacScriptCommand = "tell application ""Mail""" & vbCrLf & _
"set newMessage to make new outgoing message with properties {subject:""" & Subject & """, content:""" & Body & """}" & vbCrLf & _
"tell newMessage" & vbCrLf & _
"make new to recipient with properties {address:""" & Recipient & """}" & vbCrLf & _
"set visible to true" & vbCrLf & _
"end tell" & vbCrLf & _
"activate" & vbCrLf & _
"end tell"
' AppleScript über VBA ausführen
On Error Resume Next ' Fehler abfangen, falls etwas schiefgeht
MacScript (MacScriptCommand)
On Error GoTo 0 ' Fehlerabfangmodus beenden
Next lr
' Aufräumen
Set lo = Nothing
Set ws = Nothing
End Sub
MacBook Air 15″, macOS 15.0