Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1712to1716
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Mailanhang per Filter

VBA Mailanhang per Filter
23.09.2019 19:05:58
El
Liebes Excelforum,
ich habe einen VBA Code, der generierte Rechnungen automatisch per Mail versendet:
With olApp.CreateItem(0)
.to = strMailAdresse
.cc = "rechnungen@meineAdresse.de"
.Subject = strMailSubject
.body = strMailtext
.Attachments.Add strSpeicherort & strFileName
.Display
'.Send
End With
Bisher haben die Mails immer nur die Rechnung als Anhang (strSpeicherort & strFileName). Weitere Anlagen an die Rechnungen (z.B. Hotelbelege) füge ich der Mail momentan manuell hinzu. Nun würde ich gerne das ganze soweit verbessern, dass, sofern vorhanden, auch Anhänge beigefügt werden. Da sowohl Rechnung als auch jede Anlage im Namen immer die eindeutige Rechnungsnummer beinhalten, wäre es möglich alle Dateien anzuhängen, die dem Filterergebniss von *[Rechnungsnummer]* entsprechen. Im öffnenDialog kann ich z.B. bei Eingabe von *[Rechnungsnummer]* genau diese Liste erhalten. Hat mir jemand einen Tipp, wie ich das Vorhaben umsetzen kann? Vielen Dank im Voraus

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Mailanhang per Filter
23.09.2019 19:37:00
Nepumuk
Hallo,
im Prinzip so:
Public Sub Beispiel()
    
    Const FOLDER_PATH As String = "H:\Test\" 'Anpassen !!!
    
    Dim strFilename As String, astrFiles() As String
    Dim Rechnungsnummer As String
    Dim ialngIndex As Long
    Dim olApp As Object
    
    Rechnungsnummer = "123456"
    
    strFilename = Dir$(FOLDER_PATH & "*" & Rechnungsnummer & "*.*")
    Do Until strFilename = vbNullString
        Redim Preserve astrFiles(ialngIndex)
        astrFiles(ialngIndex) = FOLDER_PATH & strFilename
        ialngIndex = ialngIndex + 1
        strFilename = Dir$
    Loop
    
    Set olApp = CreateObject("Outlook.Application")
    
    With olApp.CreateItem(0)
        .to = strMailAdresse
        .cc = "rechnungen@meineAdresse.de"
        .Subject = strMailSubject
        .body = strMailtext
        For ialngIndex = LBound(astrFiles) To UBound(astrFiles)
            .Attachments.Add astrFiles(ialngIndex)
        Next
        .Display
        '.Send
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: VBA Mailanhang per Filter
23.09.2019 19:43:41
Oberschlumpf
Hi
ich hab eigtl die gleiche Lösungsidee wie Nepumuk, mein Code ist etwas kürzer, da ich den "Umweg" über die Array-Variable auslasse.
With objMail
.to = strMailAdresse
.cc = "rechnungen@meineAdresse.de"
.Subject = strMailSubject
.body = strMailtext
strFileName = Dir(strSpeicherort & "*[Rechnungsnummer]*")
Do Until strFileName = ""
.Attachments.Add strSpeicherort & strFileName
strFileName = Dir
Loop
.Display
'.Send
End With
Hilfts?
Ciao
Thorsten
AW: VBA Mailanhang per Filter
23.09.2019 20:48:01
El
@Nepumuk und @Oberschlumpf
Herzlichen Dank Euch beiden. Das funktioniert super, ich kannte die Dir Funktion noch nicht und habe noch nicht verstanden, warum "strFileName = Dir" funktioniert. Da werde ich mich jetzt mal reinlesen.
Als nächstes werde ich nun das Problem lösen, warum die Signatur verschwindet, sobald ich .body verwende. Aber dazu gibt es wahrscheinlich schon einiges hier. LG ElDjango
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige