Gå til hovedindhold

Hvordan kan jeg forhindre Outlook påmindelse for tidligt eller for sent?

For eksempel arbejder du fra 9:00 til 6:00 hver dag, men nu laver du en aftale kl 10:00 og tilføjer en påmindelse på 2 timer om det i Outlook. Det betyder, at påmindelsen fungerer kl. 8:00 inden dit arbejde begynder. På den anden side kan påmindelsen lyde i midnat i særlige tilfælde. Det er ret ubelejligt, og nogle Outlook-brugere vil måske forhindre Outlook i at minde for tidligt eller for sent. Her vil jeg introducere en VBA-makro, som du kan løse den i Outlook.

Office-faneblad - Aktiver fanebaseret redigering og browsing i Microsoft Office, hvilket gør arbejdet til en leg
Kutools til Outlook - Boost Outlook med 100+ avancerede funktioner for overlegen effektivitet
Boost din Outlook 2021 - 2010 eller Outlook 365 med disse avancerede funktioner. Nyd en omfattende 60-dages gratis prøveperiode og løft din e-mail-oplevelse!

For at forhindre, at Outlook minder for tidligt eller for sent, kan du gøre følgende:

Trin 1: Tryk på andre + F11 taster i mellemtiden for at åbne vinduet Microsoft Visual Basic for Applications.

Trin 2: Udvid Microsoft Outlook-objekter i venstre rude, og indsæt følgende VBA-makro i Denne OutlookSession.

VBA: Undgå påmindelse for tidligt eller for 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

 

Bemærk: Du kan angive din arbejdsperiode ved at ændre følgende parametre i VBA-koden ovenfor:
påmindelseMaxHour = 20
påmindelseMinHour = 9

Trin 3: Gem denne VBA, og genstart din Microsoft Outlook.

Fra nu af, når du opretter en aftale med påmindelsestid ude af din angivelse af arbejdsperiode, vil den poppe op en dialogboks for at minde dig om, når du har klikket på Gem og luk .

Hvis påmindelsestidspunktet er tidligere end den angivne påmindelseMinHour, skal du klikke på Ja i dialogboksen vil den ændre påmindelsestidspunktet og få påmindelsen til at lyde ved den angivne påmindelseMinHour.

Hvis påmindelsestidspunktet er senere end den angivne påmindelseMaxTime, skal du klikke på Ja i dialogboksen, vil den ændre påmindelsestidspunktet og påminde dig ved den angivne påmindelseMaxHour.

Bemærk: Denne VBA-kode fungerer godt med Outlook 2013, men virker ikke med Outlook 2010 og 2007.


Bedste kontorproduktivitetsværktøjer

Kutools til Outlook - Over 100 kraftfulde funktioner til at superlade din Outlook

🤖 AI Mail Assistant: Øjeblikkelige pro-e-mails med AI-magi – et klik for geniale svar, perfekt tone, flersproget beherskelse. Forvandl e-mailing ubesværet! ...

📧 Email Automation: Ikke til stede (tilgængelig til POP og IMAP)  /  Planlæg Send e-mails  /  Auto CC/BCC efter regler ved afsendelse af e-mail  /  Automatisk videresendelse (avancerede regler)   /  Tilføj automatisk hilsen   /  Opdel automatisk e-mails med flere modtagere i individuelle meddelelser ...

📨 Email Management: Genkald nemt e-mails  /  Bloker svindel-e-mails af emner og andre  /  Slet duplikerede e-mails  /  Avanceret søgning  /  Konsolider mapper ...

📁 Vedhæftede filer ProBatch Gem  /  Batch adskilles  /  Batch komprimere  /  Automatisk gem   /  Automatisk afmontering  /  Automatisk komprimering ...

🌟 Interface Magic: 😊 Flere smukke og seje emojis   /  Boost din Outlook-produktivitet med fanebaserede visninger  /  Minimer Outlook i stedet for at lukke ...

👍 Wonders med et enkelt klik: Besvar alle med indgående vedhæftede filer  /   Anti-phishing e-mails  /  🕘Vis afsenderens tidszone ...

👩🏼‍🤝‍👩🏻 Kontakter og kalender: Batch Tilføj kontakter fra udvalgte e-mails  /  Opdel en kontaktgruppe til individuelle grupper  /  Fjern fødselsdagspåmindelser ...

Over 100 Features Afvent din udforskning! Klik her for at finde mere.

Læs mere       Gratis download      Køb
 

 

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