Microsoft Outlook troubleshooting

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?
 
 
Możliwość ustawienia czasu przypomnienia podczas edycji 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 Sub

MVP Shon Oskar – VBATools.pl
Jeśli masz pytania dot. tego artykułu zapraszam na Forum
Skonfiguruj swój pakiet dodatków do Excela, Worda, PowerPointa i Outlooka



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