AW: Nachtrag
26.12.2015 14:49:49
jens
Hallo,
danke für den Code.
Habe ihn probiert anzupassen.
Private Sub CommandButton11_Click()
Dim olName As Outlook.Namespace
Dim olFolder As Outlook.MAPIFolder
Dim olItems As Outlook.Items
Dim lngInt As Long
Dim lngItemsCount As Long
Dim lngMailAge As Long
Dim lngRCTime As Date
Dim lngNWTime As Date
If MsgBox("Möchten Sie die Emails wirklich löschen?" & _
" Dies kann nicht rückgängig gemacht werden.", 36, "Hinweis") = vbNo Then Exit _
Sub
lngMailAge = InputBox("Bitte Alter der zu löschenden Emails angeben")
Set olName = Application.GetNamespace("MAPI")
Set olFolder = olName.Session.Folders(ComboBox1.Text).Folders("Posteingang")
lngItemsCount = 0
Set Application.ActiveExplorer.CurrentFolder = olFolder
Set olItems = olFolder.Items
For lngInt = olItems.Count To 1 Step -1
If TypeOf olItems(lngInt) Is Outlook.MailItem Then
lngRCTime = Format(olItems(lngInt).ReceivedTime, "DD.MM.YYYY")
lngNWTime = Format(Now, "DD.MM.YYYY")
If lngNWTime - lngRCTime >= lngMailAge Then olItems(lngInt).Delete
End If
Next lngInt
Set olFolder = olName.Session.Folders(ComboBox1.Text).Folders("Gesendete Elemente")
lngItemsCount = 0
Set Application.ActiveExplorer.CurrentFolder = olFolder
Set olItems = olFolder.Items
For lngInt = olItems.Count To 1 Step -1
If TypeOf olItems(lngInt) Is Outlook.MailItem Then
lngRCTime = Format(olItems(lngInt).ReceivedTime, "DD.MM.YYYY")
lngNWTime = Format(Now, "DD.MM.YYYY")
If lngNWTime - lngRCTime >= lngMailAge Then olItems(lngInt).Delete
End If
Next lngInt
End Sub
Aber ist es normal, dass zuerst 5-10 Sekunden der Zeiger zum Ring wird, wobei ich vermute, dass er hier die Abfrage startet danach kommt wieder der Mauszeiger von neun und dann wieder zyklisch der Ring.
Es ist auch so, dass sehr schnell von der Userform oben angezeigt wird. (Keine Rückmeldung)
Habe ich was falsch gemacht?