创建/保存新联系人时是否可以运行Outlook宏?

时间:2016-06-01 15:29:02

标签: vba outlook macros outlook-vba

我有一个Outlook宏,可以编辑所有联系人中的某些字段。是否可以在创建/保存新联系人时自动触发此宏运行?

1 个答案:

答案 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是一个类模块。