gcc*_*gcc 0 vba event-handling listener outlook-2010
我试图将侦听器添加到主收件箱和另一个名为“ AssignNumber”的文件夹中。当邮件进入我的主收件箱时,我写了MACRO,侦听新邮件,然后对该邮件进行处理。另一方面,对于我的AssignNumber文件夹,我希望能够将电子邮件拖到该文件夹中,并且一旦将电子邮件拖放到该文件夹中,该文件夹就会侦听它们,然后执行一些我将不涉及的其他操作。我的问题是,我所有用于侦听进入MAIN INBOX的邮件的代码都是在ThisOutlookSession中编写的,我不知道在哪里添加侦听AssignNumber文件夹的代码。这是我在ThisOutlookSession中拥有的代码:
Private WithEvents Items As Outlook.Items
Private Sub Application_Startup()
Dim olApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Set olApp = Outlook.Application
Set objNS = olApp.GetNamespace("MAPI")
' default local Inbox
Set Items = objNS.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub Items_ItemAdd(ByVal item As Object)
'do Stuff to mailitem
End Sub
Run Code Online (Sandbox Code Playgroud)
我不知道在哪里/如何添加类似的代码,这些代码将侦听我的AssignNumber文件夹中拖放到其中的项目。谁能帮忙?非常感谢。
您可以为多个文件夹创建多个侦听器,如下所示:
Private WithEvents deletedItems As Outlook.Items
Private WithEvents mainInboxItems As Outlook.Items
Public Sub Application_Startup()
Dim olApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Set olApp = Outlook.Application
Set objNS = olApp.GetNamespace("MAPI")
Set deletedItems = objNS.GetDefaultFolder(olFolderDeletedItems).Items
Set mainInboxItems = objNS.Folders("whatever your main mailbox is called").Folders("AssignNumber").Items
'assumes your "AssignNumber" folder is a subfolder of the main inbox
'otherwise you can nest Folders("myArchive").Folders("AssignNumber).items etc
End Sub
Run Code Online (Sandbox Code Playgroud)
您可以根据需要在任意数量的文件夹中执行此操作,我在这里仅使用两个文件夹,但是我自己的Outlook中有将近10个文件夹。
然后,您可以将ItemAdd
方法分配给每个方法,例如:
Private Sub deletedItems_ItemAdd(ByVal item As Object)
'do Stuff to mailitem
End Sub
Private Sub mainInboxItems_ItemAdd(ByVal item As Object)
'do Stuff to mailitem
End Sub
Run Code Online (Sandbox Code Playgroud)
所有这些代码都可以放入ThisOutlookSession中。
归档时间: |
|
查看次数: |
2490 次 |
最近记录: |