Vba 运行时错误';13';类型不匹配

Vba 运行时错误';13';类型不匹配,vba,outlook,Vba,Outlook,我创建了一个宏,以便在收到新邮件时从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 =

我创建了一个宏,以便在收到新邮件时从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

您的代码没有多大意义-您正在创建一条新消息(oMail),但您从未对它做过任何事情。您只需使用变量声明来循环收件箱中的所有项目。由于它被声明为
MailItem
,因此当它遇到MailItem以外的类型的项目(例如
ReportItem
MeetingItem
)时,它会爆炸

改用
NewMailEx
事件-它将新邮件的条目id作为参数传递。使用它调用命名空间.GetItemFromID

的可能重复项