Salt la conținutul principal

Cum să preveniți amintirea Outlook prea devreme sau prea târziu?

De exemplu, lucrați de la 9:00 la 6:00 în fiecare zi, dar acum vă faceți o programare la 10:00 și adăugați un memento de 2 ore pentru acesta în Outlook. Asta înseamnă că mementoul va funcționa la ora 8:00 înainte de începerea lucrării. Pe de altă parte, memento-ul poate suna la miezul nopții, în cazuri speciale. Este destul de incomod, iar unii utilizatori Outlook ar putea dori să împiedice Outlook să reamintească prea devreme sau prea târziu. Aici voi introduce o macrocomandă VBA pentru a o rezolva în Outlook.

Office Tab - Activați editarea cu file și navigarea în Microsoft Office, făcând munca o briză
Kutools pentru Outlook - Îmbunătățiți Outlook cu peste 100 de caracteristici avansate pentru o eficiență superioară
Îmbunătățiți-vă Outlook 2021 - 2010 sau Outlook 365 cu aceste funcții avansate. Bucurați-vă de o perioadă de încercare gratuită cuprinzătoare de 60 de zile și îmbunătățiți-vă experiența prin e-mail!

Pentru a preveni reamintirea Outlook prea devreme sau prea târziu, puteți face următoarele:

Pasul 1: Apăsați tasta Alt + F11 între timp, pentru a deschide fereastra Microsoft Visual Basic pentru aplicații.

Pasul 2: Extindeți fișierul Obiecte Microsoft Outlook în panoul din stânga și lipiți următoarea macro VBA în Această sesiune Outlook.

VBA: preveniți reamintirea prea devreme sau prea târziu în 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

 

notițe: Puteți specifica perioada de lucru modificând următorii parametri în codul VBA de mai sus:
reminderMaxHour = 20
reminderMinHour = 9

Pasul 3: Salvați acest VBA și reporniți Microsoft Outlook.

De acum înainte, când creați o întâlnire cu timpul de reamintire, specificând perioada de lucru, va apărea o casetă de dialog pentru a vă reaminti după ce faceți clic pe Salvați și închideți butonul.

Dacă timpul de reamintire este mai devreme decât reamintirea specificată MinHour, faceți clic pe Da în caseta de dialog, se va schimba ora memento-ului și va face sunetul memento-ului la memento-ora specificată.

Dacă timpul de reamintire este mai târziu decât reamintirea specificată MaxHour, faceți clic pe Da în caseta de dialog, se va schimba ora de reamintire și vă va reaminti la reamintirea specificată MaxHour.

Notă: Acest cod VBA funcționează bine cu Outlook 2013, dar nu funcționează cu Outlook 2010 și 2007.


Cele mai bune instrumente de productivitate de birou

Kutools pentru Outlook - Peste 100 de funcții puternice pentru a vă supraalimenta Outlook

📧 Automatizare e-mail: În afara biroului (disponibil pentru POP și IMAP)  /  Programați trimiterea de e-mailuri  /  CC/BCC automat după reguli la trimiterea e-mailului  /  Redirecționare automată (Reguli avansate)   /  Adăugare automată felicitare   /  Împărțiți automat e-mailurile cu mai mulți destinatari în mesaje individuale ...

📨 Managementul e-mail: Amintește-ți cu ușurință e-mailurile  /  Blocați e-mailurile înșelătorii de către subiecți și alții  /  Ștergeți e-mailurile duplicate  /  Cautare Avansata  /  Consolidați foldere ...

📁 Atașamente ProSalvați în serie  /  Detașare lot  /  Compresă în loturi  /  Salvare automata   /  Detașare automată  /  Comprimare automată ...

🌟 Magia interfeței: 😊Mai multe emoji drăguțe și cool   /  Îmbunătățiți-vă productivitatea Outlook cu vizualizările cu file  /  Minimizați Outlook în loc să închideți ...

???? Minuni cu un singur clic: Răspundeți tuturor cu atașamentele primite  /   E-mailuri anti-phishing  /  🕘Afișați fusul orar al expeditorului ...

👩🏼‍🤝‍👩🏻 Contacte și calendar: Adăugați în lot contacte din e-mailurile selectate  /  Împărțiți un grup de contact în grupuri individuale  /  Eliminați mementouri de ziua de naștere ...

Peste 100 Caracteristici Așteaptă explorarea ta! Click aici pentru a descoperi mai multe.

 

 

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