VBATools

Usunięcie powielonych terminów w kalendarzu

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

Pewien forumowicz Outlook.pl miał problem po imporcie danych ze starego Outlooka 2K do 2K7. Mechanizm importujący zrealizował zadanie, jednak powielił obiekty kalendarzowe.

Zadanie jakie zostało postawione to “eliminacja obiektów przy jednoczesnym zadaniu tematu przez operatora”.

Dzięki poniższej procedurze usunięte zostaną wszystkie oprócz jednego wydarzenia, tak aby zainteresowany mógł nie stracić powielonego wpisu.

Option Explicit
Public Sub Usun_obiekty_kalendarza()
'MVP OShon from VBATools.pl
Dim OutApp As Object, temat$, q&, z&
temat = InputBox("Podaj treść tematu wydarzenia kalendarzowego do usunięcia." & _
 vbCr & "Pozostanie tylko 1 wydarzenie reszta zostanie usunięte.", _
 "Usuniecie obiektów kalendarza")
If Len(Trim(temat)) = 0 Then Exit Sub

 Set OutApp = CreateObject("Outlook.Application")
Dim oApptFolder As MAPIFolder
 Set oApptFolder = OutApp.Application.GetNamespace("MAPI").GetDefaultFolder(olFolderCalendar)
On Error GoTo blad
 Dim oCalendar As AppointmentItem
 Dim olApp As Items
 Set olApp = oApptFolder.Items
For q = 1 To olApp.Count - 1
DoEvents
 Set oCalendar = olApp.item(q)
 If LCase(Trim(temat)) = LCase(Trim(oCalendar.Subject)) Then _
 oCalendar.Delete: z = z + 1
Next q
MsgBox "Przerobiono " & q & " obiektów kalendarzowych." & vbCr & _
 "Usunieto " & z & " obiektów z tematem: " & temat, _
 vbInformation, "O'Shon machine from VBATools."
koniec:
 If Not oCalendar Is Nothing Then Set oCalendar = Nothing
 If Not OutApp Is Nothing Then Set OutApp = Nothing
 If Not oApptFolder Is Nothing Then Set oApptFolder = Nothing
Exit Sub
blad:
MsgBox "Błąd: " & Err.Number & vbCr & Err.Description, vbExclamation
Resume koniec
End Sub

Aby uruchomić procedurę „Usun_obiekty_kalendarza” w MS Outlook, polecam uwadze ten artykuł szkoleniowy.

 

(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