Hallo Lars! Ne, hattest du richtig verstanden, aber ich nicht richtig gelesen und dachte du wolltest die Termine speichern. Probiere es mal so. Dabei wird dein ausgewähltes Objekt geprüft, wenn es ein Termin ist, passiert nix, ansonsten so wie vorher. Könnte man ggf. noch anpassen an andere Mailtypen. Link dazu ist im Code. Schau mal, ob das so passt. VG
Sub Anlage_verschieben()
Dim strPath As String
Dim Mail_Date As String
Dim Mail_Jahr As String
Dim Mail_Monat As String
Dim Mail_Tag As String
Dim Anhang_Name As String
Dim objMail As Outlook.MailItem
Dim intAnlagen As Integer, i As Integer
'On Error Resume Next
'Pfad zu meinem Ordner
strPath = "C:\Neuer Ordner"
'Schleife
For Each objMail In Outlook.ActiveExplorer.Selection
If objMail.Type = 5 Then 'die 5 steht für Termine
'hier ggf. auch noch ander Typen eintragen
'Konstanten siehe hier:
' http://www.online-excel.de/excel/singsel_vba.php?f=85
Else
With objMail
'Mails auf vorh. Anlagen prüfen
intAnlagen = .Attachments.Count
'If .ItemProperties = MailItem Then
If intAnlagen > 0 Then
For i = 1 To intAnlagen
'Datum bestimmen
Mail_Date = objMail.CreationTime
Mail_Date = Left(Mail_Date, 10)
Mail_Jahr = Mid(Mail_Date, 7, 4)
Mail_Monat = Mid(Mail_Date, 4, 2)
Mail_Tag = Mid(Mail_Date, 1, 2)
Mail_Date = Mail_Jahr & Mail_Monat & Mail_Tag & "_"
'Neuen Namen zuweisen
Anhang_Name = Mail_Date & .Attachments.Item(i).Filename
'Anlagen im vordefinierten Verzeichnis sichern
.Attachments.Item(i).SaveAsFile strPath & "\" & Anhang_Name
Next i
End If
End With
End If
Next objMail
End Sub
|