Hvordan forebygge Outlook minner for tidlig eller for sent?
For eksempel, du jobber 09:00 til 18:00 hver dag, men nå du gjør en avtale klokken 10.00 og legge til en påminnelse om 2 timer etter den i Outlook. Det er mener påminnelsen vil fungere på 8:00 før arbeidet begynner. På den annen side kan påminnelsen høres i midnatt i spesielle tilfeller. Det er ganske upraktisk, og noen Outlook-brukere vil kanskje hindre Outlook minner for tidlig eller for sent. Her vil jeg presentere en VBA-makro for deg å løse det i Outlook
2013.
For å hindre Outlook minner for tidlig eller for sent, kan du gjøre som følger:.
Trinn 1: Trykk på ALT + F11-tastene i mellomtiden for å åpne Microsoft Visual Basic for Applications vindu
Trinn 2:.. Utvid Microsoft Outlook objekter i ruten til venstre, og lim inn følgende VBA-makro inn i ThisOutlookSession
< p> VBA: Forhindre minne for tidlig eller for sent i Outlook
offentlige WithEvents g_CalendarItems Som Outlook.ItemsPublic Sub Application_Startup () Sett g_CalendarItems = Outlook.Session.GetDefaultFolder (olFolderCalendar) .ItemsEnd SubPrivate Sub g_CalendarItems_ItemAdd (ByVal Element As Object) CheckReminder ItemEnd SubPrivate Sub g_CalendarItems_ItemChange (ByVal Element As Object) CheckReminder ItemEnd SubSub CheckReminder (ByVal Element As Object) On Error GoTo ProcErrorDim strProcName Som StringstrProcName = "CheckReminder" reminderMaxHour = 20reminderMinHour = 9Dim aAptItem Som Outlook.AppointmentItemSet aAptItem = ItemIf aAptItem.ReminderSet ThenDim reminderDate As DatereminderDate = aAptItem.Start - aAptItem.ReminderMinutesBeforeStart /(24 * 60) reminderHour = (reminderDate - Int (reminderDate)) * 24tolerance = 0.01 'unngå flyt små differ (litt mindre enn en min) Hvis reminderHour < reminderMinHour - toleranse Eller reminderHour > reminderMaxHour + toleranse Then 'beste gjetning, først prøve å gå videre til neste minHourreminderDateSuggestion = reminderDate + (reminderMinHour - reminderHour) /24' bekrefte om første gjetning er validIf reminderHour < reminderMinHour - toleranse Og reminderDateSuggestion < = aAptItem.Start Then 'OK, er gyldig først gjetning, holde itElseIf reminderHour > reminderMaxHour Then 'gå tilbake til max time (samme dag) reminderDateSuggestion = reminderDate - (reminderHour - reminderMaxHour) /24Else "gå tilbake til max time (gårsdagen) reminderDateSuggestion = reminderDate - (reminderHour + 24 - reminderMaxHour) /24End Ifrep = MsgBox ( "The Reminder tid er ute av spesifisert arbeidsperiode Vil du endre Påminnelse tid.?", vbQuestion + vbYesNoCancel) Hvis rep = vbCancel ThenaAptItem.DisplayElseIf rep = vbYes ThenaAptItem.ReminderMinutesBeforeStart = (aAptItem.Start - reminderDateSuggestion) * 24 * 60aAptItem.SaveEnd IfEnd IfEnd IfProcExit: Exit SubProcError: MsgBox "Uventet feil" & Err.number & "" &Amp; Err.Description & vbCrLf & "I prosedyren:" & strProcNameEnd Sub
Merk: Du kan spesifisere din arbeidsperiode med skiftende følgende parametere i VBA koden ovenfor: reminderMaxHour = 20 reminderMinHour = 9
Trinn 3: Lagre dette VBA, og starte Microsoft Outlook
Fra nå av, når du oppretter en avtale med påminnelse tid ut av deg spesifisere arbeidsperiode, vil det dukke opp en dialogboks for å minne deg etter at du klikker på Save &.; Lukk.
Hvis påminnelsestiden er tidligere enn angitt reminderMinHour Klikk Ja i dialogboksen, vil det endre påminnelsen tid og gjøre påminnelsen lyden på angitt reminderMinHour. .
Hvis påminnelsestiden er senere enn den angitte reminderMaxHour Klikk Ja i dialogboksen, vil det endre påminnelsen tid og minne deg på det angitte reminderMaxHour
Merk: Dette VBA-kode fungerer godt med Outlook 2013, men fungerer ikke med Outlook 2010 og 2007.