Przejdź do głównej zawartości

Jak zapobiec zbyt wczesnemu lub zbyt późnemu przypomnieniu programu Outlook?

Na przykład pracujesz codziennie od 9:00 do 6:00, ale teraz umawiasz się na spotkanie o 10:00 i dodajesz przypomnienie o 2 godzinach w programie Outlook. Oznacza to, że przypomnienie będzie działać o 8:00 przed rozpoczęciem pracy. Z drugiej strony, w szczególnych przypadkach przypomnienie może zabrzmieć o północy. Jest to dość niewygodne, a niektórzy użytkownicy Outlooka mogą chcieć zapobiec zbyt wczesnemu lub zbyt późnemu przypomnieniu programu Outlook. Tutaj przedstawię makro VBA, aby rozwiązać je w Outlooku.

Karta Office — włącz edycję i przeglądanie na kartach w pakiecie Microsoft Office, dzięki czemu praca stanie się o wiele łatwiejsza
Kutools dla programu Outlook - Zwiększ wydajność programu Outlook dzięki ponad 100 zaawansowanym funkcjom zapewniającym najwyższą wydajność
Ulepsz swój program Outlook 2021–2010 lub Outlook 365 dzięki tym zaawansowanym funkcjom. Skorzystaj z kompleksowego, 60-dniowego bezpłatnego okresu próbnego i usprawnij korzystanie z poczty e-mail!

Aby zapobiec zbyt wczesnemu lub zbyt późnemu przypomnieniu programu Outlook, możesz wykonać następujące czynności:

Krok 1: Naciśnij inny + F11 klucze w międzyczasie, aby otworzyć okno Microsoft Visual Basic for Applications.

Krok 2: Rozwiń Obiekty programu Microsoft Outlook w lewym okienku i wklej następujące makro VBA do pliku Ta sesja programu Outlook.

VBA: Zapobiegaj przypominaniu zbyt wcześnie lub zbyt późno w Outlooku

Public WithEvents g_CalendarItems As Outlook.Items
Public Sub Application_Startup()
Set g_CalendarItems = Outlook.Session.GetDefaultFolder(olFolderCalendar).Items
End Sub
Private Sub g_CalendarItems_ItemAdd(ByVal Item As Object)
CheckReminder Item
End Sub
Private Sub g_CalendarItems_ItemChange(ByVal Item As Object)
CheckReminder Item
End Sub
Sub CheckReminder(ByVal Item As Object)
On Error GoTo ProcError
Dim strProcName As String
strProcName = "CheckReminder"
reminderMaxHour = 20
reminderMinHour = 9
Dim aAptItem As Outlook.AppointmentItem
Set aAptItem = Item
If aAptItem.ReminderSet Then
Dim reminderDate As Date
reminderDate = aAptItem.Start - aAptItem.ReminderMinutesBeforeStart / (24 * 60)
reminderHour = (reminderDate - Int(reminderDate)) * 24
tolerance = 0.01 ' avoid floating point small diffs (little bit less than a min)
If reminderHour < reminderMinHour - tolerance Or reminderHour > reminderMaxHour + tolerance Then
' best guess, first try to advance to next minHour
reminderDateSuggestion = reminderDate + (reminderMinHour - reminderHour) / 24
' verify if first guess is valid
If reminderHour < reminderMinHour - tolerance And reminderDateSuggestion <= aAptItem.Start Then
' OK, first guess is valid, keep it
ElseIf reminderHour > reminderMaxHour Then
' go back to max hour (same day)
reminderDateSuggestion = reminderDate - (reminderHour - reminderMaxHour) / 24
Else
' go back to max hour (previous day)
reminderDateSuggestion = reminderDate - (reminderHour + 24 - reminderMaxHour) / 24
End If
rep = MsgBox("The Reminder time is out of specified working period. Would you like to change the Reminder time?" , vbQuestion + vbYesNoCancel)
If rep = vbCancel Then
aAptItem.Display
ElseIf rep = vbYes Then
aAptItem.ReminderMinutesBeforeStart = (aAptItem.Start - reminderDateSuggestion) * 24 * 60
aAptItem.Save
End If
End If
End If
ProcExit:
Exit Sub
ProcError:
MsgBox "Unanticipated error " & Err.Number & " " & Err.Description & vbCrLf & "In procedure: " & strProcName
End Sub

 

Note: Możesz określić swój okres pracy, zmieniając następujące parametry w powyższym kodzie VBA:
przypomnienieMaxGodzina = 20
przypomnienie MinGodzina = 9

Krok 3: Zapisz ten VBA i uruchom ponownie program Microsoft Outlook.

Odtąd, podczas tworzenia spotkania bez czasu przypomnienia określającego okres pracy, pojawi się okno dialogowe przypominające o kliknięciu Zapisz i zamknij przycisk.

Jeśli godzina przypomnienia jest wcześniejsza niż określona godzina przypomnienia, kliknij przycisk Tak w oknie dialogowym zmieni czas przypomnienia i uruchomi dźwięk przypomnienia o określonej godzinie przypomnienia.

Jeśli godzina przypomnienia jest późniejsza niż określona godzina reminderMaxHour, kliknij przycisk Tak w oknie dialogowym zmieni czas przypomnienia i przypomni o określonej godzinie przypomnienia.

Uwaga: Ten kod VBA działa dobrze z programem Outlook 2013, ale nie działa z programami Outlook 2010 i 2007.


Najlepsze narzędzia biurowe

Kutools dla programu Outlook - Ponad 100 zaawansowanych funkcji, które usprawnią Twoje perspektywy

🤖 Asystent poczty AI: Natychmiastowe profesjonalne e-maile z magią AI — genialne odpowiedzi jednym kliknięciem, doskonały ton, biegła znajomość wielu języków. Zmień e-mailing bez wysiłku! ...

📧 Automatyzacja poczty e-mail: Poza biurem (dostępne dla POP i IMAP)  /  Zaplanuj wysyłanie wiadomości e-mail  /  Automatyczne CC/BCC według reguł podczas wysyłania wiadomości e-mail  /  Automatyczne przewijanie (Zasady zaawansowane)   /  Automatyczne dodawanie powitania   /  Automatycznie dziel wiadomości e-mail od wielu odbiorców na pojedyncze wiadomości ...

📨 Zarządzanie e-mail: Łatwe przywoływanie e-maili  /  Blokuj oszukańcze wiadomości e-mail według tematów i innych  /  Usuń zduplikowane wiadomości e-mail  /  Wiecej opcji  /  Konsoliduj foldery ...

📁 Załączniki ProZapisz zbiorczo  /  Odłącz partię  /  Kompresuj wsadowo  /  Automatyczne zapisywanie   /  Automatyczne odłączanie  /  Automatyczna kompresja ...

🌟 Magia interfejsu: 😊Więcej ładnych i fajnych emotikonów   /  Zwiększ produktywność programu Outlook dzięki widokom na kartach  /  Zminimalizuj program Outlook zamiast go zamykać ...

>> Cuda jednym kliknięciem: Odpowiedz wszystkim, dodając przychodzące załączniki  /   E-maile chroniące przed phishingiem  /  🕘Pokaż strefę czasową nadawcy ...

👩🏼‍🤝‍👩🏻 Kontakty i kalendarz: Grupowe dodawanie kontaktów z wybranych e-maili  /  Podziel grupę kontaktów na pojedyncze grupy  /  Usuń przypomnienia o urodzinach ...

O Cechy 100 Poczekaj na eksplorację! Kliknij tutaj, aby dowiedzieć się więcej.

 

 

Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations