После выполнения задачи в Outlook многие пользователи могут захотеть отправить уведомление по электронной почте, чтобы уведомить кого-либо, например начальника. Отправка электронной почты вручную займет много времени. В этой статье будет представлен быстрый способ автоматической отправки таких электронных писем.
Из статьи «4 быстрых шага, чтобы назначить задачу другим в вашем Outlook», вы можете знать, что если задача назначена вам вашим руководителем, и ему заранее потребовался отчет о состоянии, как показано на снимке экрана ниже, он сможет автоматически получить отчет по электронной почте.
Однако, если задача создана вами самостоятельно, Outlook никогда никому не отправит уведомление по электронной почте, когда вы пометите ее как завершенную. В этом случае, если вы хотите отправить уведомление по электронной почте, чтобы сообщить о своей работе, вы должны сделать это вручную. Но со следующими кодами VBA вы можете позволить Outlook выполнить это автоматически.
Автоматическая отправка уведомления по электронной почте при завершении определенной задачи
- Для начала следует запустить Outlook и перейти на вкладку «Разработчик».
- Затем найдите и нажмите кнопку «Visual Basic». Появится новое окно «Microsoft Visual Basic для приложений».
- После этого дважды щелкните проект ThisOutlookSession, чтобы открыть его, а затем скопируйте в него следующие коды VBA.
Public WithEvents olItems As Outlook.Items
Private Sub Application_Startup()
Set olItems = Session.GetDefaultFolder(olFolderTasks).Items
End Sub
Private Sub olItems_ItemChange(ByVal Item As Object)
Dim obApp As Outlook.Application
Dim olMail As Outlook.MailItem
Dim Recip As String
'Replace "test" as per your needs
If InStr(LCase(Item.Subject), "test") > 0 And Item.Complete = True Then
'Replace with your desired contact
Recip = "John Smith"
If MsgBox("Do you want to send a report to " & Recip & " ?", vbYesNo + vbQuestion, "Confirm Sending Report") = vbYes Then
Set obApp = Outlook.Application
Set olMail = obApp.CreateItem(olMailItem)
With olMail
.To = Recip
.Subject = "Complete: " & Item.Subject
.Body = "Dear Mr. Smith" & vbCrLf & "I've completed this task in " & DateDiff("d", Item.CreationTime, Now) & " day" & Chr(40) & "s" & Chr(41) & "." & vbCrLf & vbCrLf & "Task Name: " & Item.Subject & vbCrLf & "Start Date: " & Item.StartDate & vbCrLf & "Due Date: " & Item.DueDate & vbCrLf & "Creation Time: " & Item.CreationTime & vbCrLf & "Completed Time: " & Now & vbCrLf & vbCrLf & "Task Details: " & vbCrLf & Item.Body
.ReadReceiptRequested = True
'To directly send it,use ".Send" instead
.Display
End With
End If
End If
End Sub
- Затем подпишите этот код и измените настройки макроса, чтобы разрешить только макросы с цифровой подписью.
- Наконец, вы можете выйти из текущего окна и попробовать.
- Когда вы отметите задачу как выполненную, вы получите сообщение, подобное следующему изображению:
- Когда вы нажмете кнопку «Да», откроется новое сообщение, показанное на рисунке ниже:
Примечание: Если вы замените «.display» строкой «.Send», это электронное письмо будет отправлено напрямую, без отображения.
Обращайте внимание на сообщения с неизвестных адресов электронной почты
Вы, должно быть, когда-либо получали много писем с неизвестных адресов. Рекомендуется остерегаться таких писем. Это потому, что они могут выглядеть безобидно, но содержат вредоносные ссылки, вложения или макросы. Как только вы нажмете или откроете их, ваш Outlook может быть заражен. В этот момент, чтобы вернуть данные Outlook, у вас нет другого выбора, кроме как использовать звездную утилита исправления поврежденных данных Outlook, Такие, как DataNumen Outlook Repair.
Об авторе:
Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая исправить проблему SQL mdf и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com


