【发布时间】:2018-04-29 04:19:21
【问题描述】:
我正在尝试从 Outlook 导入邮件数据。我正在使用下面的代码。此代码显示“类型不匹配”错误。但有些邮件会复制到 Excel 工作表中。
如何导入具有特定主题行的邮件或在特定日期收到的邮件。
Sub GetFromInbox()
Dim olapp As Outlook.Application
Dim olNs As Outlook.Namespace
Dim Fldr As Outlook.MAPIFolder
Dim olMail As Outlook.MailItem
Dim Pst_Folder_Name As String, MailboxName As String
Dim i As Long
MailboxName = "xxxx@yyyyy.com"
Pst_Folder_Name = "Inbox"
Set olapp = New Outlook.Application
Set olNs = olapp.GetNamespace("MAPI")
Set Fldr = olNs.Folders(MailboxName).Folders(Pst_Folder_Name)
With Sheets("sheet1")
.Cells.ClearContents
.Cells(1, 1).Value = "Date"
i = 2
For Each olMail In Fldr.Items
'For Each olMail In olapp.CurrentFolder.Items
.Cells(i, 1).Value = olMail.ReceivedTime
.Cells(i, 3).Value = olMail.Subject
.Cells(i, 4).Value = olMail.SenderName
.Cells(i, 5).Value = olMail.Body
i = i + 1
Next olMail
End With
olapp.Quit
Set olapp = Nothing
End Sub
【问题讨论】:
-
代码对我来说运行良好。不说你在哪里得到类型不匹配错误,很难提供帮助。而且您还要求提供更多代码 (我们有没有办法可以导出仅具有特定主题行的邮件或在特定日期收到的邮件。)自己的。因此,我不明白为什么会对此表示赞成。
标签: excel vba outlook outlook-filter