2017-12-27 305 views
0

我试图通过VBA代码将所有垃圾邮件移动到我的收件箱。不幸的是我得到这一行的“424对象所需”的错误:VBA:将垃圾邮件从垃圾邮件移动到收件箱

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

括号中的VBA怪异。当您从不期望返回值的对象中调用某个函数时,您会忽略括号。

Item.Move olFLD 

另外,为了避免混淆何时以及何时不使用括号,您可以前言功能与Call

Call Item.Move(olFLD) 

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

+0

这对我很有用,非常感谢! – user3341275

+0

很高兴我能帮到你。 –