Pokud si potřebujete zabránit v zasílání konkrétních e-mailů mimo pracovní dobu, můžete využít metodu uvedenou v tomto článku. Může umožnit aplikaci Outlook automaticky zkontrolovat, zda je v pracovní době, když posíláte konkrétní e-maily, a odložit ji do pracovní doby.
Čas, kdy vytvoříte a odešlete e-mail, občas není v pracovní době. V takovém případě můžete odeslání tohoto e-mailu odložit až do následující pracovní doby. Obecně můžete ke zpoždění těchto e-mailů použít nativní funkci „Zpoždění doručení“. Tímto způsobem byste však měli vždy určit dodací lhůtu. Je to příliš problematické. Dále vám poskytneme část kódu VBA, která může automaticky zkontrolovat, zda je v pracovní době, když odešlete konkrétní e-mail, a rychle jej odložit do pracovní doby.

Rychle odložte odesílání konkrétních e-mailů do pracovní doby
- Hned na začátku spusťte program Outlook.
- Na nově vznikající hlavní obrazovce aplikace Outlook můžete stisknout klávesy „Alt + F11“.
- Dále získáte úspěšně přístup k editoru aplikace Outlook VBA.
- Poté musíte vyhledat a otevřít projekt „ThisOutlookSession“.
- Následně zkopírujte následující kód VBA do tohoto okna projektu.
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim objMail As MailItem
Dim NewSendTime As String
Dim bDelayMail As Boolean
Dim nPrompt As Integer
bDelayMail = True
If TypeOf Item Is MailItem Then
Set objMail = Item
'Work on specific emails only
'You can change the conditions as per your needs
If objMail.Recipients.Item(1).Address = "boss@datanumen.com" Then
Select Case Weekday(Date, vbMonday)
'Delay 2 days if today is Saturday
Case 6
NewSendTime = (Date + 2) & " 09:00:00"
'Delay 1 days if today is Saturday
Case 7
NewSendTime = (Date + 1) & " 09:00:00"
Case Else
If DatePart("h", Now) < 9 Then
'Delay to 9 o'clock if now is too early
NewSendTime = Date & " 09:00:00"
ElseIf DatePart("h", Now) > 18 Then
Select Case Weekday(Date, vbMonday)
'Delay 3 days if today is Friday and now is over 6 PM
Case 5
NewSendTime = (Date + 3) & " 09:00:00"
'Delay to 9 o'clock if now is before 6 PM
Case Else
NewSendTime = (Date + 1) & " 09:00:00"
End Select
Else
bDelayMail = False
End If
End Select
If bDelayMail = True And objMail.DeferredDeliveryTime = "1/1/4501" Then
'Ask if to delay sending this email
nPrompt = MsgBox("Outside Working Hours:" & vbCrLf & "Do you want to delay this email until " & NewSendTime & "?", vbYesNo + vbExclamation, "Delay Email")
If nPrompt = vbYes Then
objMail.DeferredDeliveryTime = NewSendTime
Else
objMail.DeferredDeliveryTime = "1/1/4501"
End If
End If
End If
End If
End Sub
- Později budete muset tomuto e-mailu přiřadit digitální certifikát.
- A poté změňte nastavení maker aplikace Outlook, abyste povolili podepsaná makra.
- Od této chvíle pokaždé, když posíláte e-maily, které splňují předdefinovaná kritéria, pokud je mimo pracovní dobu, zobrazí se výzva jako na následujícím obrázku:
- Pokud vyberete „Ano“, Outlook naplánuje jeho odesílání do pracovní doby.
Zachraňte poškozené soubory aplikace Outlook
Outlook si díky nesčetným funkcím vydělal spoustu sláva. Stále však má smrtící chybu. To je Outlook je náchylný k chybám a poškozením. Proto byste měli pravidelně zálohovat soubory aplikace Outlook. Může vám zabránit bolestivé ztrátě dat aplikace Outlook. Kromě toho byste se měli lépe zmocnit mocného opravného nástroje, jako je DataNumen Outlook Repair, které mohou opravit Outlook problémy během několika sekund.
Úvod autora:
Shirley Zhang je expertem na obnovu dat DataNumen, Inc., která je světovým lídrem v oblasti technologií pro obnovu dat, včetně zotavení mdf a výhledové softwarové produkty pro opravy. Pro více informací navštivte www.datanumen.com

