27.7k Aufrufe
Gefragt in E-Mail Outlook von donau-adler Einsteiger_in (87 Punkte)
Hallo Gemeinde,

ich möchte ein Script erstellen, welches mir ermöglicht, E-Mail Anhänge einer neuen Mail mit bestimmten Betreff automatisch in den Ordner D:\Anhänge abspeichert.

Es handelt sich dabei immer um Excel-Anhänge, welche als CSV-Datei abgespeichert und mit Datum versehen werden soll.

z.B. 15.05.2013_Dateiname.csv

Kann mir hier jemand helfen?

Ich habe es mir so gedacht, dass ich eine Regel erstelle, welche die neu eingehende Mail checkt, ob der "bestimmte Betreff" gegeben ist und dann das Script ausführt welches den Anhang unter den o.g. Kriterien abspeichert.

Bereits jetzt vielen Dank für Eure Hilfe.

Betriebssystem XP
Outlook 2010

[*]
[sup]*Threadedit* 25.06.2013, 19:14:58
Admininfo: Führe Threads bitte nicht fort, indem du weitere eröffnest, und vermeide Mehrfachanfragen! Siehe dazu unser FAQ 2, #3 - wie man einen Thread eröffnet
[/sup]

3 Antworten

0 Punkte
Beantwortet von massaraksch Experte (3.1k Punkte)
Hier ein Outlook-Makro, was ich in ähnlicher Form in einer Regel nutze:
Sub Anlagen_Speichern(olMail As MailItem)

'Objekte/Variablen deklarieren
Dim Ziel As String
Dim Anlagen As Attachments
Dim i As Integer

'Speicherordner angeben (bitte mit Backslash abschließen!)
Ziel = "D:\Anhänge\"

'Abbruch, wenn Ordner nicht vorhanden
If Dir(Ziel, vbDirectory) = "" Then Exit Sub

'Mailanhänge ermitteln
Set Anlagen = olMail.Attachments

'alle Anhänge der Mail durchlaufen und speichern
For i = 1 To Anlagen.Count
'Dateiname zusammensetzen, Datum ist Empfangsdatum der Mail
Datei = Ziel & Format(olMail.ReceivedTime, "dd.mm.yyyy") & "_" & Anlagen.Item(i).FileName
'Anlage speichern
Anlagen.Item(i).SaveAsFile Datei
Next i

End Sub

Hab's ein wenig kommentiert. Sollte relativ selbsterklärend sein.

mfg, Massaraksch
0 Punkte
Beantwortet von donau-adler Einsteiger_in (87 Punkte)
Hallo Massaraksch,

Du hast Recht. Ich habe das schon mal so ähnlich gepostet, es aber nciht hinbekommen. Jetzt habe ich aber noch einmal intensiv an einer Lösung gesucht und bin jetzt auf den Fehler gestossen.

Eine Frage hätte ich noch. Hast Du eine Idee, wie ich in den Befehl

Datei = Ziel & Format(olMail.ReceivedTime, "dd.mm.yyyy") & "_" & Anlagen.Item(i).FileName
'Anlage speichern

die Uhrzeit noch einbinde?
0 Punkte
Beantwortet von massaraksch Experte (3.1k Punkte)
Hi,

dazu mußt du eigentlich nur den Teil mit der Format-Angabe ändern, z.B.

Format(olMail.ReceivedTime, "dd.mm.yyyy_hh-nn-ss")

ergibt: 26.06.2013_22-15-13

oder sowas

Format(olMail.ReceivedTime, "yyyy-mm-dd_hh-nn-ss")

ergibt: 2013-06-26_22-16-25
(ist besser für Sortierung)

y -Jahr
m - Monat
d - Tag
h - Stunde
n - Minute
s - Sekunde

mfg, Massaraksch
...