我创建了一个宏,以便每当收到新邮件时都会从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
答案 0 :(得分:0)
您的代码没有多大意义-您正在创建新邮件(oMail),但您永远不会对其进行任何处理。您只需要使用变量声明来遍历收件箱中的所有项目。由于它被声明为MailItem
,因此在遇到非MailItem类型的项目(例如ReportItem
或MeetingItem
)时会爆炸。
改为使用NewMailEx
事件-它传递新消息的条目ID作为参数。用它来呼叫Namespace.GetItemFromID
。