
Ustawienie czasu przypomnienia dla wydarzenia całodziennego innego niż domyślne 18 godzin
autor OShon 2011-02-03 22:50:00 w Makra
tagi: czas, ustawienia, przypomnienia, kalendarz, Outlook, wydarzenia
0 komenarze | Dodaj komentarz
tagi: czas, ustawienia, przypomnienia, kalendarz, Outlook, wydarzenia
0 komenarze | Dodaj komentarz
Outlook posiada możliwość zdefiniowania wydarzenia całodziennego. Jego aktywacja domyślnie zaznacza przypomnienie na 18 godzin przed godziną 00:00. Da się to jednak zmienić.
Jeżeli użytkownik programu MS Outlook ogranicza się jedynie do aplikacji, nie będzie stanowić to żadnego problemu. W momencie synchronizacji Outlooka z PDA, telefonem komórkowym lub innym urządzeniem, które ma wbudowany kalendarz, otrzymujemy komunikat przypominający nam o danym wydarzeniu w nocy. Czy istnieje jednak możliwość ustalenia odpowiedniej godziny przypomnienia w inny sposób niż edycja pola przypomnienia w momencie tworzenia wydarzenia?

Rys.1. Możliwość ustawienia czasu przypomnienia podczas edycji wydarzenia.
Przytoczę tutaj najpierw procedurę kolegi Ruut’a (wyłączenie przypomnień) oraz poniżej modyfikacje kodu polegającą na przestawieniu wydarzenia całodziennego na czasowe z ustaleniem godziny początku zdarzenia, jako startu przypomnienia.
Sub Check_all_calender_items_and_disable_reminder_if_set_to_18_hours()
'Ruut Brandsma on 12/04/2007
myNamespace = Application.GetNamespace("MAPI")
Application.ActiveExplorer.CurrentFolder = myNamespace.GetDefaultFolder(olFolderCalendar)
For Each item In Application.ActiveExplorer.CurrentFolder.Items
With item
If .Class = olAppointment Then
If .ReminderMinutesBeforeStart = 18 * 60 And .ReminderSet Then
.ReminderSet = False
.Save()
End If
End If
End With
Next
Application.ActiveExplorer.CurrentFolder = myNamespace.GetDefaultFolder(olFolderInbox)
End Sub
Sub Check_all_calender_items_and_change_18_hours()
'OShon from VBATools.pl
Dim item As Object
With Application.GetNamespace("MAPI")
Application.ActiveExplorer.CurrentFolder = .GetDefaultFolder(olFolderCalendar)
For Each item In Application.ActiveExplorer.CurrentFolder.Items
DoEvents()
With item
If .Class = olAppointment Then
If .ReminderMinutesBeforeStart = 18 * 60 Then
.Start = Format(.Start, "YYYY-MM-DD") & " 9:00" 'opcjonalne
.End = Format(.Start, "YYYY-MM-DD") & " 23:59" 'opcjonalne
.ReminderMinutesBeforeStart = 0 'możliwość ustawienia innego czasu przypomnienia h * 60
.ReminderSet = True
.Save()
End If
End If
End With
Next
Application.ActiveExplorer.CurrentFolder = .GetDefaultFolder(olFolderInbox)
End With
End SubShon 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.
