fietewilhelm

Excel-Makro Datei per E-Mail versenden, Dateiname aus Zellbezug

Hallo in die Runde,
bitte um Hilfe:
Mit einer per Makro in Excel erstellten E-Mail möchte ich eine Datei versenden. Der Name der Datei ergibt sich aus einer Zelle einer Tabelle.
Beispiel: Die Datei befindet sich im Ordner: "C:\Lohn_Stb\". Der Dateiname befindet sich in der Excel-Tabelle in "Tage!AI2". Es ist noch die Dateiendung "CSV" anzuhängen. Ich bekomme das einfach nicht hin.
Mein Makro sieht bisher so aus und funktioniert einwandfrei:

Sub E_Per_Mail_versenden()

Dim objOutlook As Object
Dim objMail As Object

Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)

With objMail
.To = "Lohn@Name.eu"
.Subject = "Lohnstunden aus der Tabelle"
.Body = "Anbei erhalten Sie unsere Lohnstunden zur Verarbeitung im DATEV-Programm."
' Die folgende Zeile bereitet mir Probleme und sollte als Dateinamen den Inhalt der Zelle "Tage!AI2" enthalten.
.Attachments.Add "C:\Lohn_Stb\21100_2019-10.csv"
.Display 'Erstellt die Email und öffnet diese. Der Versand erfolgt anschließend manuell vom User!
End With

End Sub
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 505346

Url: https://administrator.de/forum/excel-makro-datei-per-e-mail-versenden-dateiname-aus-zellbezug-505346.html

Ausgedruckt am: 26.04.2025 um 09:04 Uhr

141320
141320 16.10.2019 aktualisiert um 16:33:04 Uhr
Goto Top
'...  
attachment = "C:\Lohn_Stb\" & Sheets("Tage").Range("AI2").Text & ".csv"  
.Attachments.Add attachment
'...  
Es funktioniert aber auch
'...  
attachment  = "C:\Lohn_Stb\" & Range("Tage!AI2").Text & ".csv"  
.Attachments.Add attachment
'...  
usw., gibt x unterschiedliche Möglichkeiten Zellen anzusprechen, die man eigentlich auch in zwei Minuten Googeln hätte in Erfahrung bringen können ;-/


p.s. für die Zukunft bitte Code-Tags verwenden.

screenshot
TheJoker2305
TheJoker2305 16.10.2019 aktualisiert um 16:45:55 Uhr
Goto Top
Hallo,

die entsprechende Zeile für das Anhängen des Attachments lautet:

.Attachments.Add "C:\Lohn_Stb\" + ActiveWorkbook.Worksheets("Tage").Range("AI2").Value + ".csv"  

Greetz
thejoker2305
FieteWilhelm
FieteWilhelm 16.10.2019 um 17:29:37 Uhr
Goto Top
Vielen Dank. Das hat geklappt.
Ich bitte um Nachsicht. Ich habe keine VBA-Kenntnisse und konnte deshalb die Lösung durch Googlen nicht finden.
P.S.: Keine Ahnung, wie man Code-Tags verwendet, sorry.
Aber trotzdem Super.
141320
141320 16.10.2019 aktualisiert um 17:51:12 Uhr
Goto Top
Zitat von @FieteWilhelm:
P.S.: Keine Ahnung, wie man Code-Tags verwendet, sorry.
Hier wird es erläutert.
Formatierungen in den Beiträgen
Macht uns Helfern vor allem den Programmieren das Leben einfach leichter, schon weil bestimmte Sonderzeichen und Formatierungen wie Einrückungen etc. sonst komplett flöten gehen.