Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1748to1752
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

@Nepumuk:E-Mail mit allen Dateien senden

@Nepumuk:E-Mail mit allen Dateien senden
29.03.2020 11:38:24
Sergej
Hallo zusammen, hallo Nepumuk,
ich habe hier im Forum diesen Code von Nepumuk gefunden, den ich für meine Zwecke sehr gut benutzen kann. ;-)
Was mir noch fehlt ist die Erweiterung noch zwei anderen Ordnerquellen einzutragen, sowie im Body der vollständige Pfad aller angehängen Dateien als Liste untereinander. Wie mache ich das bitte?
Public Sub ZusendungUnterlagenRemoteberatung()
Dim strFolder As String, strFilename As String
Dim oApp As Object
Set oApp = CreateObject("Outlook.Application")
strFolder = Worksheets("Tabelle1").Cells(8, 2).Value
If Left$(strFolder, 1)  "\" Then strFolder = strFolder & "\"
With oApp.CreateItem(0)
.Sensitivity = 3
.To = Range("B7")
.Subject = "Betreff"
.Body = Worksheets("Tabelle1").Range("G6") & vbCr & vbCr & _
"Text." & vbCr & vbCr & _
"Text" & vbCr & vbCr & _
"Text" & vbCr & _
"Text" & vbCr
strFilename = Dir$(strFolder & "*")
Do Until strFilename = vbNullString
Call .Attachments.Add(strFolder & strFilename)
strFilename = Dir$
Loop
.Display
End With
Set oApp = Nothing
End Sub
Beste Grüße,
Sergej

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: @Nepumuk:E-Mail mit allen Dateien senden
29.03.2020 12:24:16
Nepumuk
Hallo Sergej,
die Zellen aus der die Ordnerpfade kommen musst du anpassen:
Option Explicit

Public Sub ZusendungUnterlagenRemoteberatung()
    Dim astrFolder(2) As String, strFilename As String
    Dim ialngIndex As Long
    Dim oApp As Object
    
    Set oApp = CreateObject("Outlook.Application")
    
    astrFolder(0) = Worksheets("Tabelle1").Cells(8, 2).Value
    If Left$(astrFolder(0), 1) <> "\" Then astrFolder(0) = astrFolder(0) & "\"
    
    astrFolder(1) = Worksheets("Tabelle1").Cells(9, 2).Value
    If Left$(astrFolder(1), 1) <> "\" Then astrFolder(1) = astrFolder(1) & "\"
    
    astrFolder(2) = Worksheets("Tabelle1").Cells(10, 2).Value
    If Left$(astrFolder(2), 1) <> "\" Then astrFolder(2) = astrFolder(2) & "\"
    
    With oApp.CreateItem(0)
        
        .Sensitivity = 3
        .to = Range("B7").Value
        .Subject = "Betreff"
        .Body = Worksheets("Tabelle1").Range("G6").Value & vbCr & vbCr & _
            "Text." & vbCr & vbCr & _
            "Text" & vbCr & vbCr & _
            "Text" & vbCr & _
            "Text" & vbCr
        
        For ialngIndex = 0 To 2
            
            strFilename = Dir$(astrFolder(ialngIndex) & "*")
            
            Do Until strFilename = vbNullString
                
                Call .Attachments.Add(astrFolder(ialngIndex) & strFilename)
                
                .Body = .Body & astrFolder(ialngIndex) & strFilename & vbLf
                
                strFilename = Dir$
                
            Loop
        Next
        
        .Display
        
    End With
    Set oApp = Nothing
End Sub

Gruß
Nepumuk
Anzeige
AW: @Nepumuk:E-Mail mit allen Dateien senden
29.03.2020 12:44:33
Sergej
Hallo Nepumuk,
großartig! Vielen herzlichen Dank!
Lassen sich noch bitte pro Ordnerpfad auch die Dateienendungen eingrenzen?
Gerne mehrere Dateiendungen, ansonsten wenn es nicht geht, dann zumindest eine Dateiendung.
Beste Grüße,
Sergej
AW: @Nepumuk:E-Mail mit allen Dateien senden
29.03.2020 13:12:58
Nepumuk
Hallo Sergej,
z.B. alle Exceldateien:
strFilename = Dir$(astrFolder(ialngIndex) & "*.xls*")
Gruß
Nepumuk
AW: @Nepumuk:E-Mail mit allen Dateien senden
29.03.2020 13:56:12
Sergej
Hallo Nepumuk,
das hat funktioniert.
Fragen:
- Kann man mehrere Dateiendungen eintragen?
- Lässt sich eine Festlegung pro pro Ordnerpfad definieren, welche Dateiendungen berücksichtigt werden sollen?
Beste Grüße,
Sergej
Anzeige
AW: @Nepumuk:E-Mail mit allen Dateien senden
29.03.2020 14:17:01
Nepumuk
Hallo Sergej,
beispielsweise so:
Option Explicit

Public Sub ZusendungUnterlagenRemoteberatung()
    Dim astrFolder(2) As String, strFilename As String
    Dim astrExtention(2) As String
    Dim ialngIndex As Long
    Dim oApp As Object
    
    Set oApp = CreateObject("Outlook.Application")
    
    astrFolder(0) = Worksheets("Tabelle1").Cells(8, 2).Value
    If Left$(astrFolder(0), 1) <> "\" Then astrFolder(0) = astrFolder(0) & "\"
    
    astrFolder(1) = Worksheets("Tabelle1").Cells(9, 2).Value
    If Left$(astrFolder(1), 1) <> "\" Then astrFolder(1) = astrFolder(1) & "\"
    
    astrFolder(2) = Worksheets("Tabelle1").Cells(10, 2).Value
    If Left$(astrFolder(2), 1) <> "\" Then astrFolder(2) = astrFolder(2) & "\"
    
    astrExtention(0) = "*.xls*"
    astrExtention(1) = "*.doc*"
    astrExtention(2) = "*.pdf"
    
    With oApp.CreateItem(0)
        
        .Sensitivity = 3
        .To = Range("B7").Value
        .Subject = "Betreff"
        .Body = Worksheets("Tabelle1").Range("G6").Value & vbCr & vbCr & _
            "Text." & vbCr & vbCr & _
            "Text" & vbCr & vbCr & _
            "Text" & vbCr & _
            "Text" & vbCr
        
        For ialngIndex = 0 To 2
            
            strFilename = Dir$(astrFolder(ialngIndex) & astrExtention(ialngIndex))
            
            Do Until strFilename = vbNullString
                
                Call .Attachments.Add(astrFolder(ialngIndex) & strFilename)
                
                .Body = .Body & astrFolder(ialngIndex) & strFilename & vbLf
                
                strFilename = Dir$
                
            Loop
        Next
        
        .Display
        
    End With
    Set oApp = Nothing
End Sub

Gruß
Nepumuk
Anzeige
AW: @Nepumuk:E-Mail mit allen Dateien senden
29.03.2020 14:42:35
Sergej
Hallo Nepumuk,
PERFEKT! Für mehrere Dateiendungen muss ich wahrscheinlich astrFolder oder astrExtention erweitern, oder?
Ich habe es wie folgt ohne Erfolg probiert ;-) astrExtention(0) = "*.xls*;*.nwd"
Beste Grüße,
Sergej
AW: @Nepumuk:E-Mail mit allen Dateien senden
29.03.2020 15:04:23
Nepumuk
Hallo Sergej,
dann so:
Option Explicit

Public Sub ZusendungUnterlagenRemoteberatung()
    Dim astrFolder(2) As String, strFilename As String
    Dim avntExtention(2) As Variant
    Dim ialngIndex As Long, ialngExtension As Long
    Dim oApp As Object
    
    Set oApp = CreateObject("Outlook.Application")
    
    astrFolder(0) = Worksheets("Tabelle1").Cells(8, 2).Value
    If Left$(astrFolder(0), 1) <> "\" Then astrFolder(0) = astrFolder(0) & "\"
    
    astrFolder(1) = Worksheets("Tabelle1").Cells(9, 2).Value
    If Left$(astrFolder(1), 1) <> "\" Then astrFolder(1) = astrFolder(1) & "\"
    
    astrFolder(2) = Worksheets("Tabelle1").Cells(10, 2).Value
    If Left$(astrFolder(2), 1) <> "\" Then astrFolder(2) = astrFolder(2) & "\"
    
    avntExtention(0) = Array("*.xls*", "*.nwd", "*.mp3")
    avntExtention(1) = Array("*.doc*", "*.mvp")
    avntExtention(2) = Array("*.pdf")
    
    With oApp.CreateItem(0)
        
        .Sensitivity = 3
        .To = Range("B7").Value
        .Subject = "Betreff"
        .Body = Worksheets("Tabelle1").Range("G6").Value & vbCr & vbCr & _
            "Text." & vbCr & vbCr & _
            "Text" & vbCr & vbCr & _
            "Text" & vbCr & _
            "Text" & vbCr
        
        For ialngIndex = 0 To 2
            
            For ialngExtension = LBound(avntExtention(ialngIndex)) To UBound(avntExtention(ialngIndex))
                
                strFilename = Dir$(astrFolder(ialngIndex) & avntExtention(ialngIndex)(ialngExtension))
                
                Do Until strFilename = vbNullString
                    
                    Call .Attachments.Add(astrFolder(ialngIndex) & strFilename)
                    
                    .Body = .Body & astrFolder(ialngIndex) & strFilename & vbLf
                    
                    strFilename = Dir$
                    
                Loop
            Next
        Next
        
        .Display
        
    End With
    Set oApp = Nothing
End Sub

Gruß
Nepumuk
Anzeige
AW: @Nepumuk:E-Mail mit allen Dateien senden
29.03.2020 15:13:44
Sergej
Klasse. Funktioniert perfekt. Vielen herzlichen Dank. #bleibGesund...
Beste Grüße,
Sergej

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige