VBA:将邮件从垃圾邮件移动到收件箱

时间:2017-12-27 13:10:22

标签: vba email move

我正试图通过VBA代码将所有垃圾邮件移到我的收件箱中。不幸的是,我在这一行得到了'424对象需要'的错误:

    Item.Move (olFLD)

当我尝试将邮件从收件箱移动到另一个文件夹时,代码有效,但当我尝试将邮件从垃圾邮件移动到收件箱时,它无法正常工作。

Dim OlNS As Outlook.NameSpace
Dim olFLD As Outlook.Folder
Dim olJunk As Outlook.Folder

Sub Junk()

Set OlNS = Outlook.GetNamespace("MAPI")
Set olFLD = OlNS.GetDefaultFolder(olFolderInbox)
Set olJunk = OlNS.GetDefaultFolder(olFolderJunk)

While olJunk.Items.Count <> 0

For Each Item In olJunk.Items

Item.Move (olFLD)

Next

Wend

End Sub

有人对我的问题有答案吗?

提前致谢。

2 个答案:

答案 0 :(得分:1)

在vba中,括号很奇怪。当您从一个您不期望返回值的对象调用函数时,您将不使用括号。

Item.Move olFLD

或者,为避免混淆何时以及何时不使用括号,您可以使用Call

作为序言。
Call Item.Move(olFLD)

了解更多: What are the rules governing usage of brackets in VBA function calls?

答案 1 :(得分:0)