Hoppa till huvudinnehåll

Hur kan jag förhindra att Outlook påminner för tidigt eller för sent?

Till exempel arbetar du från 9:00 till 6:00 varje dag, men nu gör du ett möte klockan 10:00 och lägger till en påminnelse om två timmar för det i Outlook. Det betyder att påminnelsen fungerar klockan 2:8 innan ditt arbete börjar. Å andra sidan kan påminnelsen låta vid midnatt i speciella fall. Det är ganska obekvämt, och vissa Outlook-användare kanske vill förhindra att Outlook påminner för tidigt eller för sent. Här introducerar jag ett VBA-makro för att du ska kunna lösa det i Outlook.

Office-fliken - Aktivera flikredigering och surfning i Microsoft Office, vilket gör arbetet enkelt
Kutools för Outlook - Boosta Outlook med 100+ avancerade funktioner för överlägsen effektivitet
Förbättra din Outlook 2021 - 2010 eller Outlook 365 med dessa avancerade funktioner. Njut av en omfattande 60-dagars gratis provperiod och höj din e-postupplevelse!

För att förhindra att Outlook påminner för tidigt eller för sent kan du göra följande:

Steg 1: Tryck på andra + F11 tangenter under tiden för att öppna Microsoft Visual Basic for Applications-fönstret.

Steg 2: Expandera Microsoft Outlook-objekt i den vänstra rutan och klistra in följande VBA-makro i ThisOutlookSession.

VBA: Förhindra påminnelse för tidigt eller för sent i Outlook

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

 

Anmärkningar: Du kan ange din arbetsperiod genom att ändra följande parametrar i VBA-koden ovan:
påminnelseMaxHour = 20
påminnelseMinHour = 9

Steg 3: Spara den här VBA och starta om din Microsoft Outlook.

Från och med nu, när du skapar ett möte med en påminnelsestid för dig som anger arbetsperiod, dyker det upp en dialogruta för att påminna dig när du klickar på Spara och stäng knapp.

Om påminnelsestiden är tidigare än den angivna reminderMinHour, klicka på Ja i dialogrutan kommer det att ändra påminnelsestiden och låta påminnelsen låta vid den angivna reminderMinHour.

Om påminnelsetiden är senare än den angivna reminderMaxHour, klicka på Ja i dialogrutan kommer det att ändra påminnelsetiden och påminna dig vid den angivna påminnelsenMaxHour.

Notera: Den här VBA-koden fungerar bra med Outlook 2013, men fungerar inte med Outlook 2010 och 2007.


Bästa kontorsproduktivitetsverktyg

Kutools för Outlook - Över 100 kraftfulla funktioner för att överladda din Outlook

📧 Email Automation: Frånvaro (tillgänglig för POP och IMAP)  /  Schemalägg Skicka e-post  /  Auto CC/BCC enligt regler när du skickar e-post  /  Automatisk vidarebefordran (avancerade regler)   /  Lägg automatiskt till hälsning   /  Dela automatiskt e-postmeddelanden med flera mottagare i individuella meddelanden ...

📨 Email Management: Hämta enkelt e-postmeddelanden  /  Blockera bluff-e-postmeddelanden av ämnen och andra  /  Ta bort duplicerade e-postmeddelanden  /  Avancerad Sökning  /  Konsolidera mappar ...

📁 Bilagor ProBatch Spara  /  Batch lossa  /  Batchkomprimera  /  Automatisk sparning   /  Auto Lossa  /  Automatisk komprimering ...

🌟 Gränssnittsmagi: 😊 Fler vackra och coola emojis   /  Öka din Outlook-produktivitet med flikar  /  Minimera Outlook istället för att stänga ...

👍 Underverk med ett klick: Svara alla med inkommande bilagor  /   E-postmeddelanden mot nätfiske  /  🕘Visa avsändarens tidszon ...

👩🏼‍🤝‍👩🏻 Kontakter och kalender: Lägg till kontakter i grupp från valda e-postmeddelanden  /  Dela upp en kontaktgrupp till individuella grupper  /  Ta bort påminnelser om födelsedag ...

Över 100 funktioner Vänta på din utforskning! Klicka här för att upptäcka mer.

Läs mer       Gratis nedladdning      Inköp
 

 

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