gpt4 book ai didi

vba - 将已读邮件移动到 Outlook 中的新文件夹中

转载 作者:行者123 更新时间:2023-12-02 01:48:42 24 4
gpt4 key购买 nike

我想让我的 Outlook 电子邮件运行如下内容:

  • 电子邮件进入收件箱
  • 电子邮件被阅读
  • 所有阅读的电子邮件都将移至“_Reviewed”文件夹
  • 某些电子邮件会根据主题、收件人或发件人等因素自动移动到特定文件夹

我是编程新手,也是编写脚本的新手。

我正在尝试编写脚本的主要部分,该脚本会将每条已读消息移动到我的“_Reviewed”文件夹中。但是我一直收到这个错误

Run-time error.png

当我点击调试时,它会把我带到线路上

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

我想在我得到这个之后我可以得到脚本的其余部分,因为它应该只是重复这个脚本的一部分。

File Tree

编辑将 @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 Reference

关于vba - 将已读邮件移动到 Outlook 中的新文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24069436/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com