Umstellung Office '97 zu Office 2010: Komplikationen mit Makro Mail +Anhang versenden

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:

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 2013-10-02 14_06_23-Microsoft Visual Basic for Applications.png.

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:
Hi,
MS hat bei Office2010 einiges verändert an den Schutzmechanismen, z.b. vertrauenswürdige Speicherorte, Makrosicherheit, etc...
Ich nehme an, diese Sachen hast du schon durchgelesen und richtig konfiguriert?

Hatte es schon öfters dass Makros einfach nur nicht aktiviert waren bzw. halt per default deaktiviert waren und deshalb eigentlich sauberer code nicht gelaufen ist...

z.b. ist ein Pfad "C:\AZ_Daten" schonmal keinesfalls (aus MS Sicht) sicher! ;)
 
Vielen Dank für die Antwort.

Was meinst du denn damit genau? Bzw. was muss ich ändern, damit Excel 2010 meine Pfade akzeptiert, und woran erkenne ich vor allem dass dem nicht so ist?

Aktiviert sind die Makros wohl schon, da das Makro bis genau zu dem Punkt, an dem auf den Pfad zugegriffen werden soll, durchläuft.

LG
 
Zurück
Oben