邮件到达非默认邮箱时的 Outlook 运行 宏
Outlook run macro when mail arrives on a nondefault mailbox
我在 Outlook 2010 中设置了多个邮箱。当我在其中一个非默认邮箱上收到邮件时,我想要 运行 的宏。
我编写了以下代码并将代码插入到 "ThisOutlookSession"
中。
我已经让它适用于默认邮箱的收件箱,但不适用于我的非默认邮箱的收件箱。当我尝试重新打开插入代码的 outlook 2010 时,它告诉我:
"Compile error in hidden module: ThisOutlookSession".
非默认框称为 'abc.asia'。
我是 vba 的新手,欢迎任何意见,谢谢!
Dim WithEvents myInboxMailItem As Outlook Items
Private Sub myInboxMailItem_ItemAdd(ByVal Item As Object)
MsgBox("Item Added")
End Sub
Private Sub Initialize_Handler()
Dim fldInbox As Outlook.MapiFolder
Dim gnspNameSpace As Outlook.NameSpace
Set gnspNameSpace = Outlook.GetNameSpace("Mapi")
Set fldInbox = gnspNameSpace.Folders("abc.asia").Folders("Inbox")
Set myInboxMailtItem = fldInbox.Items
End Sub
使用正确的电子邮件地址更新 Set olRecip = olNs.CreateRecipient("emal@address.com")
。
Option Explicit
Private WithEvents Items As Outlook.Items
Private Sub Application_Startup()
Dim olNs As Outlook.NameSpace
Dim Inbox As Outlook.MAPIFolder
Dim olRecip As Recipient
Set olNs = Application.GetNamespace("MAPI")
Set olRecip = olNs.CreateRecipient("emal@address.com") '// Owner's Name or email address
Set Inbox = olNs.GetSharedDefaultFolder(olRecip, olFolderInbox)
Set Items = Inbox.Items
End Sub
Private Sub Items_ItemAdd(ByVal Item As Object)
If TypeOf Item Is Outlook.MailItem Then
Debug.Print Item.Subject
End If
End Sub
我在 Outlook 2010 中设置了多个邮箱。当我在其中一个非默认邮箱上收到邮件时,我想要 运行 的宏。
我编写了以下代码并将代码插入到 "ThisOutlookSession"
中。
我已经让它适用于默认邮箱的收件箱,但不适用于我的非默认邮箱的收件箱。当我尝试重新打开插入代码的 outlook 2010 时,它告诉我:
"Compile error in hidden module: ThisOutlookSession".
非默认框称为 'abc.asia'。
我是 vba 的新手,欢迎任何意见,谢谢!
Dim WithEvents myInboxMailItem As Outlook Items
Private Sub myInboxMailItem_ItemAdd(ByVal Item As Object)
MsgBox("Item Added")
End Sub
Private Sub Initialize_Handler()
Dim fldInbox As Outlook.MapiFolder
Dim gnspNameSpace As Outlook.NameSpace
Set gnspNameSpace = Outlook.GetNameSpace("Mapi")
Set fldInbox = gnspNameSpace.Folders("abc.asia").Folders("Inbox")
Set myInboxMailtItem = fldInbox.Items
End Sub
使用正确的电子邮件地址更新 Set olRecip = olNs.CreateRecipient("emal@address.com")
。
Option Explicit
Private WithEvents Items As Outlook.Items
Private Sub Application_Startup()
Dim olNs As Outlook.NameSpace
Dim Inbox As Outlook.MAPIFolder
Dim olRecip As Recipient
Set olNs = Application.GetNamespace("MAPI")
Set olRecip = olNs.CreateRecipient("emal@address.com") '// Owner's Name or email address
Set Inbox = olNs.GetSharedDefaultFolder(olRecip, olFolderInbox)
Set Items = Inbox.Items
End Sub
Private Sub Items_ItemAdd(ByVal Item As Object)
If TypeOf Item Is Outlook.MailItem Then
Debug.Print Item.Subject
End If
End Sub