我希望我的 Outlook 电子邮件运行如下所示的操作:
- 电子邮件到达收件箱
- 电子邮件被阅读
- 所有已读电子邮件都会移至“_Reviewed”文件夹
- 某些电子邮件会根据主题、收件人或发件人等信息自动移动到特定文件夹
我对编程很陌生,对编写脚本也很陌生。
我正在尝试编写脚本的主要部分,它将把每条已读消息移动到我的“_Reviewed”文件夹中。但我不断收到此错误
当我点击调试时,它把我带到了线上
Set objFolderDst = objFolderSrc.folders("__Reviewed")
我不确定是什么导致了错误。这是我的整个代码。
Sub ReadMailMover()
Set objOutlook = CreateObject("Outlook.Application")
Set objNamespace = objOutlook.GetNamespace("MAPI")
Set objFolderSrc = objNamespace.GetDefaultFolder(olFolderInbox)
Set objFolderDst = objFolderSrc.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
我认为在我得到这个之后,我可以得到脚本的其余部分,因为它应该只是重复这个脚本的部分。
Edits将 @ToFile 更改为 __Reviewed,这就是我所拥有的。我不小心从早期草稿中复制了代码。
添加了文件树的图片。 __Reviewed 不是收件箱的子文件夹。
最终工作代码
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
当 __Reviewed 与收件箱处于同一级别时,您必须访问 Parent 属性:
Set objFolderDst = objFolderSrc.Parent.Folders("__Reviewed")
MSDN 参考 http://msdn.microsoft.com/en-us/library/office/aa171818%28v=office.11%29.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)