运行时错误“ 13”类型不匹配

时间:2018-08-08 05:00:20

标签: vba outlook outlook-vba

我创建了一个宏,以便每当收到新邮件时都会从Outlook下载附件,但是出现“运行时错误'13'类型不匹配”错误,以下是代码正在使用。

任何人都可以帮助我解决这个问题。

Option Explicit

Private Sub Application_NewMail()

Dim onamespace As Outlook.NameSpace
Set onamespace = Outlook.GetNamespace("MAPI")

Dim myfol As Outlook.Folder
Set myfol = onamespace.GetDefaultFolder(olFolderInbox)

Dim omail As Outlook.MailItem
Set omail = Outlook.CreateItem(olMailItem)

Dim Atmt As Outlook.Attachment

For Each omail In myfol.Items

 If omail.SenderEmailAddress = "sacchu693@gmail.com" Then

  For Each Atmt In omail.Attachments

           Atmt.SaveAsFile "Z:\True_ID\46 RSA\" & Atmt.FileName

        Next
        Else
        End If


Next

End Sub

1 个答案:

答案 0 :(得分:0)

您的代码没有多大意义-您正在创建新邮件(oMail),但您永远不会对其进行任何处理。您只需要使用变量声明来遍历收件箱中的所有项目。由于它被声明为MailItem,因此在遇到非MailItem类型的项目(例如ReportItemMeetingItem)时会爆炸。

改为使用NewMailEx事件-它传递新消息的条目ID作为参数。用它来呼叫Namespace.GetItemFromID