VBATools

Usuwanie danych z kosza (z warunkiem)

by on Aug.18, 2010, under Outlook, Porady

Niejednokrotnie użytkownicy trzymają w koszu (folder “Elementy usunięte”) usunięte wcześniej obiekty, traktując je jako repozytorium spraw załatwionych. Pomijając słuszność takiej decyzji poniższa procedura posiada warunek usunięcia skasowanych obiektów będących wiadomościami o nazwie adresata “PROMOCJA”.

Dla kasowania wszystkich elementów wstawione warunki można usunąć.

Sub USUN_z_kosza()
'MVP OShon from VBATools.pl
Dim x&, oApptFolder As MAPIFolder
Dim IoTask As Items
Dim objItem As Object

 Set oApptFolder = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderDeletedItems)
 Set IoTask = oApptFolder.Items
 For x = IoTask.Count To 1 Step -1
 DoEvents
 If IoTask.item(x).Class = 43 Then 'warunek tylko na wiadomości email
 Set objItem = IoTask.item(x)
 On Error GoTo blad
 If UCase(objItem.SenderName) = "PROMOCJA" Then objItem.Delete 'można użyć operatora Like
  'objItem.Delete 'jeśli chcemy usunąć wszystkie wiadomości bez warunku
 End If
 Next
zakoncz:
Set oApptFolder = Nothing
Set IoTask = Nothing
Set objItem = Nothing
Exit Sub
blad:
MsgBox "Błąd w obiekcie posiadającym temat " & objItem.Subject & vbCr & _
 "Procedura została przerwana", vbExclamation, "VBATools.pl"
Resume zakoncz
End Sub

Aby osadzić procedurę “USUN_z_kosza” pod przyciskiem w menu MS Outlook, polecam uwadze ten artykuł.

 

(c) Shon Oskar – www.VBATools.pl

Wszelkie prawa zastrzeżone. Żadna część ani całość tego artykułu nie może być powielana ani publikowana bez zgody autora.
:, , ,

Leave a Reply