Outlook – Nach Löschdatum sortieren!
Sub LoeschenMitDatum()
\’Setzt ein Löschdatum und verschiebt die Mail in den Ordner \“Gelöschte Objekte\“
\’Hierzu ist in der Formularansicht ein Feld \“GELÖSCHT\“ anzulegen.
\’Damit es funktioniert, braucht man je nach Einstellung eine Signierung …
\’Auf der Menüleiste sollte ein Button angelegt werden, der auf dieses Macro zugreit.
\’Programmierung von GD
On Error GoTo fehler
Dim myOLApp As Variant
Dim myFolder As Variant
Dim myExplorer As Explorer
Dim myitem As Variant
Dim myPostfach As Variant
Dim myProp As Variant
Dim myDestFolder As Variant
Set myOLApp = Application: \’MsgBox myOLApp: \‘ Outlook
Set myExplorer = myOLApp.ActiveExplorer: \’MsgBox myExplorer: \‘ Posteingang
Set myFolder = myExplorer.CurrentFolder: \’MsgBox myFolder: \‘ Posteingang
\’Name der 1. ausgewählten Mail
Set myitem = myExplorer.Selection.Item(1): \’MsgBox \“Aktuelle Mail: \“ & myitem
\’Flag Status umsetzen, da sonst Fehlermeldung wenn noch nie gesendet
\’olFlagComplete(1), olFlagMarked(2) oder olNoFlag
If myitem.FlagStatus = 1 Then
\’MsgBox \“Flagstatus wird umgestzt von Erledigt auf gekennzeichnet!\“
myitem.FlagStatus = 2
End If
\’Übergeordnetes Postfach
Set myPostfach = myFolder.Parent: \’MsgBox myPostfach: \‘ Postfach/Mailbox
\’Zielordner festlegen
Set myDestFolder = myPostfach.Folders(\“Gelöschte Objekte\“): \’MsgBox myDestFolder
\’Mail anzeigen (ausgewählte)
\’myitem.Display
\’Sonstige Werte der Mail anzeigen
\’MsgBox myitem.GetInspector
\’MsgBox myitem.SentOn
\’MsgBox myitem.To
\’MsgBox myitem.EntryID
\’MsgBox myitem.ConversationTopic
\’MsgBox myitem.ExpiryTime
\’MsgBox myitem.Body
\’MsgBox myitem.ReminderTime
\’MsgBox myitem.BillingInformation
\’myitem.BillingInformation = \“XXX\“
\’MsgBox myitem.BillingInformation
\’Löschdatum setzen – Voher Propertie \“Gelöscht\“ wie im Formular anlegen!\“
Set myProp = myitem.UserProperties.Add(\“GELÖSCHT\“, olText)
myitem.UserProperties(\“GELÖSCHT\“) = Year(Date) & fillleft0(Month(Date), 2) & fillleft0(Day(Date), 2) & \“-\“ & fillleft0(Hour(Time), 2) & \“:\“ & fillleft0(Minute(Time), 2) & \“:\“ & fillleft0(Second(Time), 2)
\’MsgBox myitem.UserProperties(\“GELÖSCHT\“)
DoEvents
myitem.Save: \’Wichtig – Auf jeden Fall die Mailänderung speichern!
DoEvents
\’Mail verschieben
myitem.Move myDestFolder
raushier:
Exit Sub
fehler:
MsgBox Err.Description & vbLf & vbLf & \“Nur auf Mails anwendbar!\“
Resume raushier
End Sub
Function fillleft0(text As String, Anz As Byte)
Rem Links Auffüllen eines übergebenen Strings mit \“0\“,
Rem damit die erforderliche Anzahl an Stellen belegt wird und
Dim i As Byte
For i = 1 To Anz – Len(text)
text = \“0\“ & text
Next i
fillleft0 = text
End Function