【发布时间】:2016-02-26 12:42:17
【问题描述】:
我是 VBA 新手,正在寻找一种将已读电子邮件从名为“ForApproval”的文件夹移回收件箱的方法。在Stack 上找到此代码,它运行良好,但是当我尝试反转源和目标并将我的文件夹名称放入时 - 我得到:运行时错误'424':需要对象(见下面的屏幕截图)
有人可以快速查看并说出这里出了什么问题吗?
原始代码:
Sub ReadMailMover()
Set objOutlook = CreateObject("Outlook.Application")
Set objNamespace = objOutlook.GetNamespace("MAPI")
**Set objFolderSrc = objNamespace.GetDefaultFolder(olFolderInbox)**
**Set objFolderDst = objFolderSrc.Parent.folders("__Reviewed")**
Set colitems = objFolderSrc.Items
Set colfiltereditems = colitems.Restrict("[UnRead] = False")
For intMessage = colfiltereditems.Count To 1 Step -1
colfiltereditems(intMessage).Move objFolderDst
Next
End Sub
我的反转版:
Sub ReadMailMover()
Set objOutlook = CreateObject("Outlook.Application")
Set objNamespace = objOutlook.GetNamespace("MAPI")
**Set objFolderSrc = objFolderSrc.Parent.Folders("ForApproval")**
**Set objFolderDst = objNamespace.GetDefaultFolder(olFolderInbox)**
Set colitems = objFolderSrc.Items
Set colfiltereditems = colitems.Restrict("[UnRead] = False")
For intMessage = colfiltereditems.Count To 1 Step -1
colfiltereditems(intMessage).Move objFolderDst
Next
End Sub
【问题讨论】: