我们有Outlook 2013 which now comes with Custom Form Script disabled,并且我们无法重新启用它(公司政策)。普通的VBA可以正常工作。
当任务标记为完成时,我需要发送电子邮件。任务标记为完成时如何通知我,以便我可以发送电子邮件?我可以使用任何标准的应用程序事件,但是似乎没有一个对我有帮助。谢谢。
答案 0 :(得分:1)
您可以在Tasks文件夹中使用Items.ItemChange
事件(可以使用Application.Session.GetDefaultFolder(olFolderTasks)
来检索)。
答案 1 :(得分:0)
使用了Dmitry Streblechenko给出的指导,这是有效的代码。发布内容完整。
Public WithEvents myOlItems As Outlook.Items
Public Sub Initialize_handler()
Set myOlItems = Application.Session.GetDefaultFolder(olFolderTasks).Items
End Sub
Private Sub myOlItems_ItemChange(ByVal Item As Object)
' https://docs.microsoft.com/en-us/office/vba/api/outlook.taskitem
If Item.Class = olTask Then
If Item.Complete Then
'Creates a new email item and modifies its properties
Dim objMail As Outlook.mailItem
Set objMail = Application.CreateItem(olMailItem)
With objMail
.BodyFormat = olFormatHTML
.To = ""
.CC = ""
.HTMLBody = "Stuff"
.Display
End With
End If
End If
End Sub
希望可以帮助希望这样做的其他人。