Hogyan lehet megakadályozni, hogy az Outlook túl korán vagy túl későn emlékeztessen?
Például minden nap 9: 00-6: 00 óra között dolgozik, de most 10: 00-kor egyeztet egy találkozót, és 2 órás emlékeztetőt ad hozzá az Outlookban. Ez azt jelenti, hogy az emlékeztető a munka megkezdése előtt reggel 8 órakor fog működni. Másrészt az emlékeztető különleges esetekben éjfélkor szólhat. Ez meglehetősen kényelmetlen, és néhány Outlook-felhasználó meg akarja akadályozni, hogy az Outlook túl korán vagy túl későn emlékeztessen. Itt bemutatok egy VBA makrót, hogy megoldja azt az Outlookban.
- Automatizálja az e-mailezést ezzel Auto CC / BCC, Automatikus továbbítás szabályok szerint; Küld Autómatikus válasz (Out of Office) Exchange szerver nélkül...
- Szerezzen emlékeztetőket BCC figyelmeztetés amikor mindenkinek válaszol, miközben a Titkos másolat listában van, és Emlékeztessen a hiányzó mellékletekre az elfelejtett mellékletekhez...
- Növelje az e-mailek hatékonyságát Válasz (mindenre) mellékletekkel, Üdvözlés vagy dátum és idő automatikus hozzáadása az aláíráshoz vagy a tárgyhoz, Válasz több e-mailre...
- Egyszerűsítse az e-mailezést ezzel E-mailek visszahívása, Melléklet eszközök (Összes tömörítése, Összes automatikus mentése...), Távolítsa el a másolatokatés Gyorsjelentés...
Annak megakadályozása érdekében, hogy az Outlook túl korán vagy túl későn emlékeztessen, a következőket teheti:
1 lépés: Nyomja meg a más + F11 eközben nyissa meg a Microsoft Visual Basic for Applications ablakot.
2. lépés: Bontsa ki a Microsoft Outlook objektumok a bal oldali ablaktáblán, és illessze be a következő VBA makrót a ThisOutlookSession.
VBA: Az Outlook túl korai vagy késői figyelmeztetésének megakadályozása
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
Megjegyzések: A fenti VBA-kódban a következő paraméterek megváltoztatásával határozhatja meg a munkaidőszakát:
emlékeztetőMaxHour = 20
emlékeztetőMinHour = 9
3. lépés: Mentse el ezt a VBA-t, és indítsa újra a Microsoft Outlook programot.
Mostantól, amikor találkozót hoz létre emlékeztető időn kívül, megadva a munkaidőt, akkor megjelenik egy párbeszédpanel, amely emlékezteti Önt a Mentés és bezárás gombot.
Ha az emlékeztető ideje korábbi, mint a megadott emlékeztetőMinHour, kattintson a gombra Igen a párbeszédpanelen megváltoztatja az emlékeztető idejét, és az emlékeztető hangot ad a megadott emlékeztetőMinHour.
Ha az emlékeztető ideje később van, mint a megadott emlékeztetőMaxHour, kattintson a gombra Igen a párbeszédpanelen megváltoztatja az emlékeztető idejét, és emlékezteti Önt a megadott emlékeztetőreMaxHour.
Jegyzet: Ez a VBA kód jól működik az Outlook 2013 alkalmazással, de nem működik az Outlook 2010 és 2007 programokkal.
A legjobb irodai hatékonyságnövelő eszközök
Kutools az Outlook számára - Több mint 100 hatékony funkció az Outlook feltöltéséhez
???? E-mail automatizálás: Hivatalon kívül (POP és IMAP esetén elérhető) / Ütemezze az e-mailek küldését / Automatikus CC/BCC szabályok szerint e-mail küldésekor / Automatikus továbbítás (Speciális szabályok) / Automatikus üdvözlet hozzáadása / A több címzettnek szóló e-mailek automatikus felosztása egyedi üzenetekre ...
📨 Email Management: Könnyen visszahívhatja az e-maileket / Blokkolja az alanyok és mások átverő e-mailjeit / Törölje az ismétlődő e-maileket / Részletes keresés / Mappák összevonása ...
📁 Attachments Pro: Kötegelt mentés / Batch Detach / Batch tömörítés / Automatikus mentés / Automatikus leválasztás / Automatikus tömörítés ...
🌟 Interface Magic: 😊További szép és menő hangulatjelek / Növelje Outlook termelékenységét a füles nézetekkel / Minimalizálja az Outlookot a bezárás helyett ...
👍 Csodák egy kattintással: Válasz mindenkinek a bejövő mellékletekkel / Adathalászat elleni e-mailek / 🕘A feladó időzónájának megjelenítése ...
👩🏼🤝👩🏻 Névjegyek és naptár: Névjegyek kötegelt hozzáadása a kiválasztott e-mailekből / Egy kapcsolattartó csoport felosztása egyéni csoportokra / Távolítsa el a születésnapi emlékeztetőket ...
Több, mint 100 Jellemzők Várja felfedezését! Kattintson ide, ha többet szeretne megtudni.