Du willst wissen, wie ich so im Bett bin? – Ich schlafe auf dem Bauch, sabbere, murmle im Schlaf vor mich hin und sehe niedlich aus!
Merkwürdig. Ich erstelle in Outlook ein Makro, das eine Mail mit Anhang versendet:
Private Sub MailVersenden()
Dim olApp As Application
Dim olMail As MailItem
Set olApp = Application
Set olMail = olApp.CreateItem(olMailItem) ' olMailItem = 0
With olMail
.To = "rene.martin@compurem.de"
.Subject = "Beratungscheckliste Privatkunden"
.Attachments.Add Source:="D:\Eigene Dateien\Excel\Kundeninformationen.xlsx"
.Body = "Diese Mail wurde automatisch erstellt."
.Send
End With
MsgBox "Das Dokument wurde erfolgreich per Mail gesendet.", vbInformation
End Sub
Klappt! Ich versuche es in Excel. Kopiere den Code, ändere ihn ein wenig, weil ich dort mit late binding arbeite:
Private Sub MailVersenden()
Dim olApp As Application
Dim olMail As MailItem
Const olMailItem As Integer = 0
Set olApp = Application
Set olMail = olApp.CreateItem(olMailItem) ' olMailItem = 0
With olMail
.To = "rene.martin@compurem.de"
.Subject = "Beratungscheckliste Privatkunden"
.Attachments.Add Source:="D:\Eigene Dateien\Excel\Kundeninformationen.xlsx"
.Body = "Diese Mail wurde automatisch erstellt."
.Send
End With
MsgBox "Das Dokument wurde erfolgreich per Mail gesendet.", vbInformation
End Sub
Das Ergebnis:
Erst wenn ich den Namen des Parameters „Source“ lösche, funktioniert es:
Ich vermute, dass „Object“ nicht korrekt in MailItem konvertiert werden kann.
Merkwürdig!