gpt4 book ai didi

vba - 将已读项目从文件夹移回收件箱

转载 作者:行者123 更新时间:2023-12-04 15:58:34 24 4
gpt4 key购买 nike

我是 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

enter image description here

Runtime Error I'm getting

最佳答案

在反向代码中,当您初始化变量 objFolderSrc 时,它包含对自身的引用。

Set objFolderSrc = objFolderSrc.Parent.Folders("ForApproval")

此时 objFolderSrc 未初始化。它没有引用任何东西。因此,它不能用于定义位置。

试试这个:

Set objFolderSrc = application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Parent.Folders("ForApproval")

此处循环引用已被替换。您的源文件夹是通过收件箱引用的。

关于vba - 将已读项目从文件夹移回收件箱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35652046/

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