polaroid
Vice Admiral
- Registriert
- Nov. 2007
- Beiträge
- 6.785
Hallo zusammen.
Ich habe seit kurzem Office 2010 auf dem Rechner, unter dem Makro, was Mails automatisch mit verschiedenen Anhängen versendet, leider nicht mehr funktioniert. Der Code sah bisher folgendermaßen aus:
Das Ganze läuft so ab, dass er vorher verschiedene Dateien erstellt, diese Namen sind im entsprechenden Excel Blatt hinterlegt, jedoch bricht das Makro nun beim Schritt "Mail Attachments.Add" ab, und zwar mit der Laufzeitmeldung siehe Anhang .
Bisher habe ich folgende Möglichkeiten ausprobiert, die leider alle nicht wirklich funktionieren:
Den Part mit Application.FileSearch habe durch einen neuen ersetzt, der wie es aussieht funktioniert. Dieser lautet wie folgt:
Es sollte also nur darum gehen, die einzelnen Dateien in jedem Durchlauf an die verschiedenen Mails anzuhängen.
Vielen dank für eure Hilfe!
Beste Grüße, Christian
Ich habe seit kurzem Office 2010 auf dem Rechner, unter dem Makro, was Mails automatisch mit verschiedenen Anhängen versendet, leider nicht mehr funktioniert. Der Code sah bisher folgendermaßen aus:
Code:
Sub EMailVerschickenMitAnhängen()
Dim outObj As Object
Dim Mail As Object
Dim i As Integer
Dim datum As String
Dim Datumzeitstempel As String
Datumzeitstempel = Format(Day(Date), "00") & Format(Month(Date), "00") & Year(Date) & "_"
datum = Sheets("Quelle").Cells(3, 4).Value
Sheets("Grunddaten").Select
For i = 2 To 8
Set outObj = CreateObject("Outlook.Application")
Set Mail = outObj.CreateItem(0)
With Mail
.Subject = "Erfolg 2013 " & Cells(i, 4) & " - Stand: " & datum
.Body = "Sehr geehrte" & Sheets("Grunddaten").Cells(i, 8) & Cells(i, 10) & "," & vbLf & _
"in der Anlage übersende ich Ihnen die aktuelle Auswertung." & vbLf & _
"Den Stand der Daten können Sie dem Betreff entnehmen." & vbLf & _
vbLf & "Beste Grüße " & vbLf & _
"Hans Meier"
.To = Cells(i, 9)
If i > 2 Then
.CC = "mail1@3.de;mail2@3.de"
End If
If i = 8 Then
.CC = "mail28@7.de"
End If
End With
With Application.FileSearch
.NewSearch
.LookIn = "c:\Daten\Erfolg2013\"
.SearchSubFolders = True
.FileType = msoFileTypeAllFiles
.Execute
'For i = 1 To .FoundFiles.Count
' Mail.Attachments.Add .FoundFiles(i)
'Next i
Mail.Attachments.Add _
ThisWorkbook.Path & "\" & Cells(i, 11).Value
'ThisWorkbook.Path & "\" & Datumzeitstempel & "_" & Cells(i, 6).Value
End With
'Mail.display
Mail.send
Set Mail = Nothing
Set outObj = Nothing
Next i
End Sub
Das Ganze läuft so ab, dass er vorher verschiedene Dateien erstellt, diese Namen sind im entsprechenden Excel Blatt hinterlegt, jedoch bricht das Makro nun beim Schritt "Mail Attachments.Add" ab, und zwar mit der Laufzeitmeldung siehe Anhang .
Bisher habe ich folgende Möglichkeiten ausprobiert, die leider alle nicht wirklich funktionieren:
Code:
'Mail.Attachments.Add (Cells(14, 2) & " \ " & Cells(i, 11).Value) '????????????
'Mail.Attachments.Add "Ordner"
'Mail.Attachments.Add "C:\Daten\Erfolg_2013\" & "Cells(i, 11).Value)"
'myAttachments.Add "C:\Daten\Erfolg_2013\" & "Cells(i, 11).Value)"
Den Part mit Application.FileSearch habe durch einen neuen ersetzt, der wie es aussieht funktioniert. Dieser lautet wie folgt:
Code:
For Each Datei In Ordner.Files 'Schleife über alle Dateien im Ordner laufen lassen
Select Case LCase(FSO.GetExtensionName(Datei)) 'Extension auslesen
Case "xls" ', "xla", "csv", "xlt"
Col.Add Datei 'Alle Excel-Dateien in eine Collection.Die anderen ignorieren.
End Select
Es sollte also nur darum gehen, die einzelnen Dateien in jedem Durchlauf an die verschiedenen Mails anzuhängen.
Vielen dank für eure Hilfe!
Beste Grüße, Christian
Zuletzt bearbeitet: