当用户更改“来自”时,是否有人知道是否可以挂钩该事件。 Outlook 2016中的地址下拉列表:
我已经为事件Application.ItemLoad
和Application.ItemSend
等测试了一些VBA宏,但我希望还有更多可以加入的事件。
答案 0 :(得分:2)
当然 - MailItem.PropertyChange
事件会触发:
PropertyChange ("SendUsingAccount")
PropertyChange ("SentOnBehalfOfName")
您可以在OutlookSpy中查看直播活动 - 打开新项目,单击OutlookSpy功能区上的项目按钮,转到“事件”选项卡 - OutlookSpy将在事件发生时记录事件。
答案 1 :(得分:2)
当更改实例的显式内置属性(例如,Subject)时,将触发MailItem类的PropertyChange事件。请注意,您可能无法在更改UI中的值时立即触发事件。在焦点移动到另一个字段或保存项目之前,Outlook可能无法触发事件。
答案 2 :(得分:0)
为了完整性 - 这是我为捕获我感兴趣的事件而实现的完整代码。
Dim WithEvents myInspector As Outlook.Inspectors
Dim WithEvents myMailItem As Outlook.MailItem
Private Sub Application_Startup()
Set myInspector = Application.Inspectors
End Sub
Private Sub myInspector_NewInspector(ByVal Inspector As Outlook.Inspector)
If TypeOf Inspector.CurrentItem Is MailItem Then
Set myMailItem = Inspector.CurrentItem
End If
End Sub
Private Sub myMailItem_PropertyChange(ByVal Name As String)
' Properties we are interested in: "SendUsingAccount" / "SentOnBehalfOfName"
' Both get fired when the 'From' field is changed/re-selected
' So we are only going to trigger on one event or we will call the code twice
If Name = "SentOnBehalfOfName" Then
MsgBox myMailItem.SentOnBehalfOfName
End If
End Sub