[Excel] Mail Versand mit Anhang

PERKELE

Commander
Registriert
Sep. 2014
Beiträge
2.508
Guten Abend,

bei dem folgenden Makro erhalte ich immer zu die Fehlermeldung "Laufzeit Fehler 440".

ich habe schon das halbe Netz durchforstet aber bisher keine wirkliche Abhilfe gefunden, nun vllt. könntet Ihr mir kurz auf die Sprünge helfen.

Code:
Dim objOutlook As Object
Dim objMail As Object

Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
Dim strTrans As String
strTrans = strPfad & "Transfer.xls"
With objMail
   .Attachments.Add = (strTrans)
   .To = "example@mail.ex"
   .CC = "example2@mail.ex"
   .Subject = "Beispiel " & Date 'Betreff mit Datum
   .Body = "TEST."
   .Display
   .Attachments.Add = strTrans
End With
End Sub

Code:
strPfad = Environ("UserProfile") & "\Desktop\"

Ich habe es mit "" oder () probiert, es ging alles nicht. =(

Grüße,
 
Erhält denn strTrans beim debuggen einen korrekten Pfad? Die Klammer muss weg, dass ergibt eigentlich keinen Sinn. Und warum hast du unten noch ein Attachment. Ansonsten kannst du auch testweise erstmal den Vollpfad angeben.

Edit: Achso, ohne = mit (), so rum.
Code:
.Attachments.Add (var)
Code:
.Attachments.Add ("C:\blalblabla\excel.xls")
 
Zuletzt bearbeitet:
Beim strTrans wird der korrekte Pfad angezeigt.

Ich habe es nochmals mit dem direkten Pfad meines Userprofiles probiert, jedoch bekommt ich auch dort einen LZ Fehler 440. =(

Dsa doppelte attachement.Add ist eon Copy&Paste Fehler von mir. ;)
 
Dann debugge doch mal, wo bleibt er denn im Code hängen? Laufzeitfehler klingt für mich irgendwie nach einem ganz anderen Problem.
 
Add ist halt keine Eigenschaft der man einen Wert zuweisen kann, sondern eine Methode, welcher man optional oder erforderlich über Parameter einen oder mehrere Werte übergibt. Deshalb müssen dort Klammern hin und bei den anderen Sachen Gleichheitszeichen.

Schön das es klappt.
 
Zurück
Oben