我的一个脚本遇到了问题。 该脚本自动化我们的共享邮箱(outlook)。它会自动将邮件分配给正确的人。
每次脚本运行时,它都会循环文件夹中的所有邮件,并检查它是否有类别。如果没有,它会将其分配给正确的用户。 问题是,当一个没有类别的邮件在运行脚本时被拖到另一个文件夹时,它会在尝试执行mail.Categories时抛出错误。
线:222 错误:由于错误8004010f无法完成操作。
有没有办法检查mailItem是否仍然可行?
我尝试使用IsEmpty,但msgbox不会触发。
Set outlook = CreateObject("Outlook.Application")
Set namespace = outlook.GetNameSpace("MAPI")
Set Account = namespace.Folders("accountName")
Set Inbox = argentaAccount.Folders("Inbox")
For Each mail in Inbox.Items
If IsEmpty(mail) Then
MsgBox("test")
End If
'check if item has a category'
If mail.Categories <> "" Then
'has a category'
Else
'Execute mailhandling code'
End If
Next
如果有人有任何解决方案,我将永远感激。
答案 0 :(得分:0)
用这条线作为线索:
If IsEmpty(mail) Then
VBScript可能与VBA相同,其中For Each的工作方式如下:
For i = 1 to Inbox.Items.Count
当移动(或删除)项目1时,项目2移动到位置1.在下一个循环中,处理位置2和项目3。每跳过一秒。在循环的后半部分,没有什么可以处理的。
在VBA中处理此问题的一种方法是按相反顺序执行:
For i = Inbox.Items.Count to 1 step -1
Set mail = Inbox.Items(i)
If mail.Categories <> ""