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

VBA:将邮件从垃圾邮件移动到收件箱,vba,email,move,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 = Outloo

我正试图通过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
将OlNS设置为Outlook.NameSpace
将olFLD设置为Outlook.Folder
将垃圾邮件作为Outlook.Folder删除
次垃圾()
设置OlNS=Outlook.GetNamespace(“MAPI”)
设置olFLD=OlNS.GetDefaultFolder(olFolderInbox)
设置olJunk=OlNS.GetDefaultFolder(olFolderJunk)
而olJunk.Items.Count为0
对于olJunk.Items中的每个项目
项目移动(olFLD)
下一个
温德
端接头
有人能回答我的问题吗

提前谢谢。

不用
()

资料来源:


括号在vba中很奇怪。当您从一个不需要返回值的对象调用函数时,应该去掉括号

Item.Move olFLD
或者,为了避免混淆何时和何时不使用括号,您可以在函数前面加上
Call

Call Item.Move(olFLD)
阅读更多:

感谢您的回复,这确实是解决方案!很高兴我能帮忙。
Call Item.Move(olFLD)