我有一个Outlook宏,可以编辑所有联系人中的某些字段。是否可以在创建/保存新联系人时自动触发此宏运行?
答案 0 :(得分:2)
将此代码添加到ThisOutlookSession
模块:
Private WithEvents objNewContact As Items
Private Sub Application_Startup()
Set objNewContact = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts).Items
End Sub
Private Sub objNewContact_ItemAdd(ByVal Item As Object)
MsgBox Item.CompanyAndFullName & " added"
End Sub
Private Sub objNewContact_ItemChange(ByVal Item As Object)
MsgBox Item.CompanyAndFullName & " changed"
End Sub
启动Outlook时, Application_StartUp
会设置objNewContact来查看contacts文件夹
保存联系人后,ItemAdd
会触发
更改后保存现有联系人时,ItemChange
将触发。
由于@Maciej提供的链接指出 - 示例代码必须放在类模块中,而ThisOutlookSession是一个类模块。