我正试图通过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
有人对我的问题有答案吗?
提前致谢。
答案 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)
尝试不使用()
Item.Move olFLD
来源:
https://msdn.microsoft.com/en-us/vba/outlook-vba/articles/mailitem-move-method-outlook