Hallo Jasmin,
der Pfad war nicht ausgefüllt. Wenn dann bei den Dateien auch kein Pfad davor steht, wird die Datei nicht gefunden.
Außerdem hattest Du hoffentlich ein Komma und kein Semikolon eingegeben?!
Im anliegenden Code werden die Anlagen jetzt nur noch aus Spalte F genommen. Die Anlagen können jetzt durch Komma, Semikolon oder LineFeed getrennt werden.
Steht kein Pfad davor, gilt der Pfad aus sPfad.
Den Teil mit dem "~" habe ich angepasst, den braucht man nicht, der war als Platzhalter für Bild einfügen da drin und ist später vergessen worden raus zu nehmen.
Ich hoffe, dass es jetzt besser klappt, ansonsten hier noch mal melden.
Option Explicit
Sub Mails_SendenLtList()
'Sub sendet Mails lt. Liste
'Anlagen kommagetrennt oder per Zeilenumbruch CHR(10)
'Mit oder ohne Pfadangabe
Dim WSh As Worksheet, sDatei() As String
Dim sPfad As String, sMailtext As String, sSig As String
Dim iZeile As Long, i As Long
Dim oMail As Object, sAnl As String
sPfad = "C:\Users\voltm\Documents\Excel-Tabellen\" 'Pfadangabe Otional) bitte anpassen
Set WSh = Worksheets("Tabelle1") 'Mail-Blatt festlegen
With CreateObject("Outlook.Application")
For iZeile = 2 To WSh.Cells(Rows.Count, "C").End(xlUp).Row 'Liste der Mails durchgehen
If WSh.Cells(iZeile, "C").Value <> "" Then 'Mindestens Mail-Adresse muss ausgefüllt sein
Set oMail = .CreateItem(0) 'Mail kreieren
With oMail
.Getinspector: sSig = .htmlbody 'Signatur holen
.To = WSh.Cells(iZeile, "C").Value 'Adresse
.cc = WSh.Cells(iZeile, "D").Value 'Kopieempfänger
.Subject = WSh.Cells(iZeile, "E").Value 'Betreffzeile
sMailtext = "<span style='font-size:13pt;font-family:Arial;color:#000000;'>" _
& WSh.Cells(iZeile, "B").Value & "<br><br>" _
& "anbei senden wir Ihnen den unterzeichneten Dienstleistungsrahmenvertrag.<br><br>" _
& "Bei Fragen melden Sie sich gerne bei uns.<br>" _
& "</span>"
sAnl = WSh.Cells(iZeile, "F").Value 'Anlage(n) mit/ohne Pfad
If sAnl <> "" Then 'Anlagen anfügen
sAnl = Replace(sAnl, ";", ",") 'Trenner sind , oder ; oder LF
sDatei = Split(Replace(sAnl, vbLf, ","), ",")
For i = 0 To UBound(sDatei)
If InStr(sDatei(i), ":") = 0 Then
sDatei(i) = sPfad & sDatei(i) 'Pfad vorsetzen
End If
If Dir(sDatei(i)) <> "" Then 'Anlage(n) anfügen
.attachments.Add sDatei(i)
End If
Next i
End If
.htmlbody = sMailtext & sSig 'Body-Text, Signatur einfügen
Rem .send
.display
End With
Set oMail = Nothing 'Objekt-Variable zurücksetzen
WSh.Cells(iZeile, "I").Value = "Gesendet" 'Als gesendet markieren
End If
Next iZeile
End With
End Sub
viele Grüße
Karl-Heinz
|