Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Alle Excel-Dateinen aus einem Ordner als E-Mail-Anhang
#1
Hallo liebe Excel-Gemeinde,

ich habe ein kleines Problem,

ich möchte per VBA alle Excel-Dateien aus einem Ordner als E-Mail Anhäge verschicken.

Bis jetzt habe ich folgenden Code:

Sub Datenübermittlung()

Dim Outlook As Object
Dim Mail As Object
Dim Att As Object
Dim strDateiname As String
Dim Pfad As String

Dim Laufwerk As String

Laufwerk = (Tabelle1.Range("A2").Value)

Pfad = (Laufwerk) & "" & "\DE\Bremen\Garden\Front Office\Module\Personal\*.xlsx"

Set Outlook = GetObject(, "outlook.application")
Set Mail = Outlook.CreateItem(0)

Mail.To = "tom@mustermann.de"
Mail.Subject = "Datenübermittlung vom " & " " & Format(Now, "DD.MM.YYYY")

Mail.Attachments.Add (Pfad)

Mail.Body = ("Sehr geehrte Damen und Herren,")

Mail.Display  ' Mail wird angezeigt, nicht direkt versandt.

End Sub


Das ganze klappt, wenn ich eine konkrete Datei auswähle, aber wenn ich mit * auswähle kommt die Meldung Datei nicht gefunden.

Wie kann ich das Problem lösen?

Lieben Gruß Frank
Antworten Top
#2
Hallo, 19 

z. B. so: 21 

Code:
Option Explicit
Public Sub Main()
    Dim objOutApp As Object
    Dim strOrdner As String
    Dim strDatei As String
    Set objOutApp = CreateObject("Outlook.Application").CreateItem(0)
    strOrdner = "C:\Temp\Closed\"
    If Right$(strOrdner, 1) <> "\" Then strOrdner = strOrdner & "\"
    With objOutApp
        .To = "max@mustermann.de"
        .Subject = "Datenübermittlung vom " & " " & Format(Now, "DD.MM.YYYY")
        .Body = "Sehr geehrte Damen und Herren," & vbCr & vbCr & _
            "Sehr wichtiger Text." & vbCr & _
            "Der ist NOCH wichtiger!" & vbCr & _
            "Jetzt wird es peinlich." & vbCr & _
            "DAS GLAUBT KEINER!!!" & vbCr
        strDatei = Dir$(strOrdner & "*.xls*")
        Do Until strDatei = vbNullString
            .Attachments.Add strOrdner & strDatei
            strDatei = Dir$
        Loop
        .Display
    End With
    Set objOutApp = Nothing
End Sub
________
Servus
Case
Antworten Top
#3
Vielen Dank,

ich habe das ganze jetzt wie folgt gelöst:

Sub Datenübermittlung()

Dim Outlook As Object
Dim Mail As Object
Dim Att As Object
Dim strDateiname As String
Dim strPath As String
Dim strPDF As String
Dim strFile As String


Dim Laufwerk As String

On Error GoTo FehlerVerarbeitung

Laufwerk = (Tabelle1.Range("A2").Value)

strPath = (Laufwerk) & "" & "\DE\Bremen\Garden\Front Office\Module\Personal\"
strFile = Dir(strPath & "Stundenzettel*.xlsx")

Set Outlook = GetObject(, "outlook.application")
Set Mail = Outlook.CreateItem(0)

Mail.To = "max@mustermann.de"
Mail.Subject = "Datenübermittlung vom " & " " & Format(Now, "DD.MM.YYYY")

Do While Len(strFile) > 0
Mail.Attachments.Add strPath & strFile
strFile = Dir
Loop

Mail.Body = ("Hallo Max,") & Chr(10) & "" & Chr(10) & ("anbei die Backup-Sicherungen vom") & " " & Format(Now, "DD.MM.YYYY.") _

& Chr(10) & "" & Chr(10) & (Tabelle1.Range("F19").Value) & Chr(10) & "" & Chr(10) & (Tabelle1.Range("F4").Value)

Mail.Display  ' Mail wird angezeigt, nicht direkt versandt.

End Sub
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste