VBA:将邮件从垃圾邮件移至收件箱
VBA: Move Mail from Junk to Inbox
我正在尝试通过 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
有人能解答我的问题吗?
提前致谢。
试试不带 ()
Item.Move olFLD
来源:
https://msdn.microsoft.com/en-us/vba/outlook-vba/articles/mailitem-move-method-outlook
vba 中的括号很奇怪。当您从不期望 return 值的对象调用函数时,您将省略括号。
Item.Move olFLD
或者,为了避免混淆何时和何时不使用括号,您可以在函数前面加上 Call
Call Item.Move(olFLD)
阅读更多:
What are the rules governing usage of brackets in VBA function calls?
我正在尝试通过 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
有人能解答我的问题吗?
提前致谢。
试试不带 ()
Item.Move olFLD
来源:
https://msdn.microsoft.com/en-us/vba/outlook-vba/articles/mailitem-move-method-outlook
vba 中的括号很奇怪。当您从不期望 return 值的对象调用函数时,您将省略括号。
Item.Move olFLD
或者,为了避免混淆何时和何时不使用括号,您可以在函数前面加上 Call
Call Item.Move(olFLD)
阅读更多: What are the rules governing usage of brackets in VBA function calls?