这个Outlook图标是什么意思?

时间:2015-04-09 10:02:39

标签: vba email outlook-vba outlook-2007

我已经制作了一个VBA代码,用于将Outlook文件夹中所有邮件的所有附件保存到计算机上的物理文件夹中。在测试时我遇到了这个错误,当我收到的电子邮件有一个“正常”的电子邮件图标时,一切都按预期工作。但是当你在截图中看到它有这个图标时,VBA代码就会出现这个错误:

  

错误消息438:“对象不支持此属性或方法”。

enter image description here

我也无法将附件视为普通邮件。我能做的是select one mail > File > Save Attachments

所以我的问题是:电子邮件前带圆圈的图标是什么意思?它的名称是什么,是否有办法绕过无法立即查看/保存附件?

  

注意:我当然搜索了Google,但它提供的解决方案仅适用于常规电子邮件类型。此外,带有此图标的邮件是“保镖”;当邮件未发送到有效地址时,自动回复来自服务器的邮件。

修改

这是生成错误的代码行:

For Each Item In SubFolder.Items

  For Each aAttachment In Item.Attachments
      If LCase(Right(aAttachment.FileName, Len(ExtString))) = LCase(ExtString) Then
          FileName = DestFolder & Item.SenderName & " " & I & aAttachment.FileName 'Item.SenderName is the error generator
          aBijlage.SaveAsFile FileName
          I = I + 1
      End If
  Next aAttachment
Next Item

2 个答案:

答案 0 :(得分:1)

这是一份未送达报告。有关详细信息,请参阅What do the Outlook icons mean?

  

宏给出错误消息438:“对象不支持此属性或方法”。

哪行代码会产生错误?你用什么代码?你能更具体一点吗?

答案 1 :(得分:1)

将您的代码更改为

    set vItems = SubFolder.Items
    dim Item As Object
    'PR_HASATTACH = true
    set Item = vItems.Find("@SQL=""http://schemas.microsoft.com/mapi/proptag/0x0E1B000B"" = 'true' ")
    while Not (Item is Nothing)
      if Item.Class = olMail Then
        Debug.Print Item.Subject
        For Each aAttachment In Item.Attachments
            If LCase(Right(aAttachment.FileName, Len(ExtString))) = LCase(ExtString) Then
                FileName = DestFolder & Item.SenderName & " " & I & aAttachment.FileName 'Item.SenderName is the error generator
                aAttachment.SaveAsFile FileName
                I = I + 1
            End If
        Next aAttachment
      End If
      set Item = vItems.FindNext
    wend