Якщо вам потрібно запобігти надсиланню певних електронних листів у неробочий час, ви можете скористатися методом, показаним у цій статті. Він може дозволити автоматичній перевірці Outlook, чи не працює він у робочий час, коли ви надсилаєте конкретні електронні листи, і відкласти його до робочого часу.
Часом час, коли ви складаєте та надсилаєте повідомлення, не входить у ваш робочий час. У цьому випадку ви можете відкласти надсилання цього електронного листа до наступних робочих годин. Як правило, ви можете використовувати вбудовану функцію "Затримка доставки", щоб затримати такі електронні листи. Однак, таким чином, ви повинні кожного разу вказувати час доставки. Це занадто клопітно. Далі ми передамо вам фрагмент коду VBA, який може автоматично перевірити, чи це в робочий час, коли ви надсилаєте певний електронний лист, і швидко відкласти його до робочого часу.

Швидко відкладіть надсилання конкретних електронних листів до робочого часу
- З самого початку запустіть програму Outlook.
- Потім на новому головному екрані Outlook можна натиснути клавіші “Alt + F11”.
- Далі ви отримаєте доступ до редактора Outlook VBA успішно.
- Після цього вам потрібно знайти та відкрити проект “ThisOutlookSession”.
- Згодом скопіюйте наступний код VBA у це вікно проекту.
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
- Пізніше вам потрібно буде призначити цифровий сертифікат цьому електронному листу.
- А потім змініть параметри макросів Outlook, щоб дозволити підписані макроси.
- Відтепер кожного разу, коли ви надсилаєте електронні листи, що відповідають заздалегідь визначеним критеріям, якщо це не в робочий час, ви отримуватимете запит, як показано на малюнку:
- Якщо ви виберете "Так", Outlook запланує його розсилку до робочого часу.
Пошкодження пошкоджених файлів Outlook
Outlook заробив багато похвал завдяки своїм незліченним можливостям. Однак він все ще має смертельну ваду. Тобто Outlook схильний до помилок та корупції. Отже, вам слід регулярно створювати резервні копії файлів Outlook. Це може запобігти вам страждання від болісної втрати даних Outlook. Крім того, вам краще взяти в руки потужний інструмент для ремонту, такий як DataNumen Outlook Repair, які можуть ремонт Outlook проблеми протягом декількох секунд.
Вступ автора:
Ширлі Чжан - експерт із відновлення даних у DataNumen, Inc., яка є світовим лідером у галузі технологій відновлення даних, в тому числі відновлення mdf та перспективні програмні продукти для ремонту. Для отримання додаткової інформації відвідайте WWW.datanumen.com

