zunaras
Goto Top

Outlook 2010, Anhang per Makro speichern

Schönen guten Tag,

ich möchte gerne per Knopfdruck die Anhänge einer Mail auf Festplatte speichern.
Dazu würde ich gerne Datum und Uhrzeit der Erstellung oder des Empfangs der Mail vor den zu speichernden Dateinamen setzen.

In Zeile 6 habe ich mich z.B: mit .....Format(itm.CreationTime, .... versucht. Und mehrmals nach Beispielen aus dem Netz abgeändert.
Oder in Zeile 18 alternativ z.B.
.Attachments.Item(i).SaveAsFile strPath & "\" & Format$(itm.CreationTime, "yyyymmdd_hhnnss_") & .Attachments.Item(i).FileName  

Aber leider ohne Erfolg. Vielleicht könnte mir jemand dabei etwas helfen?

Hier der ganze Code, wo das aktuelle Datum vor den Dateinamen gesetzt wird:

Sub Anlage_verschieben()
Dim strPath As String
Dim objMail As MailItem
Dim intAnlagen As Integer, i As Integer
Dim dateFormat
    'dateFormat = Format(Now, "yyyymmdd_hhnnss_")  
On Error Resume Next
'Pfad zu meinem Ordner (mit Backslash abschließen!)  
strPath = "Z:\Anhang-Ablage\"  
'Schleife  
For Each objMail In Outlook.ActiveExplorer.Selection
With objMail
'Mails auf vorh. Anlagen prüfen  
intAnlagen = .Attachments.count
If intAnlagen > 0 Then
For i = 1 To intAnlagen
'Anlagen im vordefinierten Verzeichnis sichern  
.Attachments.Item(i).SaveAsFile strPath & dateFormat & .Attachments.Item(i).FileName
Next i
'Mails löschen  
'objMail.Delete  
End If
End With
Next objMail
End Sub

Viele Grüße
André

Content-ID: 277197

Url: https://administrator.de/forum/outlook-2010-anhang-per-makro-speichern-277197.html

Ausgedruckt am: 21.12.2024 um 08:12 Uhr

122990
Lösung 122990 13.07.2015 aktualisiert um 14:22:09 Uhr
Goto Top
114757
Lösung 114757 13.07.2015 aktualisiert um 14:22:07 Uhr
Goto Top
Sub AnlagenSpeichern()
    Dim att As Attachment, strPath As String, olMail As MailItem
    strPath = "Z:\Anhang-Ablage"  
    For Each olMail In ActiveExplorer.Selection
        If olMail.Attachments.count > 0 Then
            For Each att In olMail.Attachments
                att.SaveAsFile strPath & "\" & Format(olMail.ReceivedTime, "yyyymmdd_hhnnss_") & att.FileName  
            Next
        End If
    Next
End Sub
oder hier gibts auch noch Varianten die auch prüfen ob ein File schon im Dateisystem existiert:
Outlook Anhänge aus Mails automatisch exoprtieren - Nur möglich bei manuellem Anstarten des Scriptes

Gruß jodel32
Zunaras
Zunaras 13.07.2015 um 14:21:54 Uhr
Goto Top
Ich danke euch beiden vielmals.
Mangels korrekter Suchbegriffe habe ich die gar nicht gefunden.

Viele Grüße
André
Zunaras
Zunaras 13.07.2015 aktualisiert um 15:02:09 Uhr
Goto Top
Eine Frage noch:
ich habe das Makro in das Menüband eingefügt.
Wenn ich draufklicke passiert nichts. Gehe ich mit Alt-F11 direkt zum Code und "Makro ausführen", läuft er durch. Warum geht es nicht vom Menüband ?
Ich habe bereits andere Makros dort platziert, die allesamt funktionieren.

Grüße
André
114757
114757 13.07.2015 aktualisiert um 15:06:45 Uhr
Goto Top
Zitat von @Zunaras:

Eine Frage noch:
ich habe das Makro in das Menüband eingefügt.
Wenn ich draufklicke passiert nichts. Gehe ich mit Alt-F11 direkt zum Code und "Makro ausführen", läuft er
durch. Warum geht es nicht vom Menüband ?
Hier gehts einwandfrei, entweder hast du die Mails im aktiven Explorer nicht markiert oder die Sicherheitseinstellungen für Makros stimmen in den Optionen nicht.
Zunaras
Zunaras 13.07.2015 um 15:30:23 Uhr
Goto Top
Jetzt geht es. Hatte den Code in Module gespeichert.
Habe ihn jetzt in "DieseOutlookSitzung" eingefügt und gespeichert.

Viele Grüße
André