我有一个Outlook宏,可以编辑我所有联系人中的某些字段。 是否可以在创建/保存新联系人时自动触发此宏运行?
将此代码添加到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
Application_StartUp
将设置objNewContact以在启动Outlook时监视联系人文件夹。
ItemAdd
将在您保存联系人时触发。
更改现有联系人后保存现有联系人时,将触发ItemChange
。
正如@Maciej提供的链接所述 - 示例代码必须放在类模块中,并且此OutlookSession是一个类模块。