【发布时间】:2021-10-14 11:41:11
【问题描述】:
下面是包含我尝试过的几个解决方案的代码。
第一个是设置第二个 items_by_add 函数,并将其从我的第二个收件箱“Data”中抓取项目更改为该收件箱“adam”的子文件夹。
然后我尝试利用 beforeItemMove 函数。
通过这两种尝试,这些函数都不会被调用,但它们会编译。
我无法更改此收件箱的规则。
Private WithEvents Items As Outlook.Items
Private Sub Application_Startup()
Dim olApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Dim Inbox As Outlook.Folder
Set olApp = Outlook.Application
Set objNS = olApp.GetNamespace("MAPI")
'Set SubFolder = Application.Session.GetDefaultFolder(olFolderInbox)
'Set Inbox = objNS.Folders("my email").Folders("People").Folders("adam")
Set Items = objNS.Folders.Item("Data").Folders.Item("Inbox").Items
'Set Items1 = objNS.Folders.Item("my email").Folders.Item("Inbox").Item.BeforeItemMove(Outlook.MailItem, "adam", False)
Set Items1 = objNS.Folders.BeforeItemM("my email").Folders.item("people").Folders.item("adam")
End Sub
Private Sub Items_ItemAdd(ByVal Item As Object)
Dim Msg As Outlook.MailItem
If TypeOf Item Is Outlook.MailItem Then
'save attachment
End If
End Sub
Private Sub Items1_ItemAdd(ByVal Item As Object)
Dim Msg As Outlook.MailItem
If TypeOf Item Is Outlook.MailItem Then
'save attachment
End If
End Sub
Private Sub SubFolder_BeforeItemMove(ByVal Item As Object, ByVal MoveTo As MAPIFolder, Cancel As Boolean)
If MoveTo = Inbox Then
MsgBox Item.Subject & " was moved to Inbox"
End If
End Sub
【问题讨论】:
-
您是否缺少
Items1的全局变量? -
这能回答你的问题吗? Get reference to additional Inbox
-
从stackoverflow.com/questions/9076634/… 获得答案并继续
.Folders("adam") -
@TimWilliams 你说的全局是什么意思?