【发布时间】:2019-03-17 12:47:53
【问题描述】:
我想从 Outlook 电子邮件中下载附件。
这是我用来检索电子邮件的代码。
Set OutlookApp = New Outlook.Application
Set OutlookNamespace = OutlookApp.GetNamespace("MAPI")
Set Folder = OutlookNamespace.GetDefaultFolder(olFolderInbox).Folders(botMailFolder)
i = 1
For Each OutlookMail In Folder.Items
If InStr(OutlookMail.Subject, " ") <> 0 Then
If OutlookMail.Attachments.Count > 0 Then
Dim folderBase As String
folderBase = botLocalFolder
Dim newFolder As String
newFolder = folderBase & OutlookMail.EntryID
'OutlookItem.SenderAddress
If Not FolderExists(newFolder) Then
FolderCreate newFolder
End If
For Each a In OutlookMail.Attachments
Dim newFileName As String
newFileName = newFolder & "\" & a.DisplayName
'MsgBox newFileName
a.SaveAsFile newFileName
Next
End If
End If
Next OutlookMail
问题是,Sender,SenderEmailAddress 和 SenderName 是空的。只有SenderEmailType 填充为EX。
代码作为 Excel 宏执行,我的所有发件人(用户)都是 Exchange 2013 用户。
如何找到电子邮件项目的发件人的电子邮件地址和姓名?
邮箱中的所有电子邮件都会出现这种情况。有人告诉我这是因为所有人都是“交换用户”,企业管理员可以为他们设置限制。
【问题讨论】:
-
看不到任何涉及发件人的代码。你试过Ron de Bruin吗? rondebruin.nl/win/s1/outlook/saveatt.htm
-
该文件夹中的所有项目都会发生这种情况吗?还是只是一些?如果单击“项目”按钮,您是否在 OutlookSpy 中使用相同的问题?
-
@DmitryStreblechenko 是的,适用于框中的所有电子邮件。有人告诉我这是因为所有人都是“交换用户”,企业管理员可以为他们设置限制
-
@SJR 我有 ro 评论该行,因为它抛出错误
'OutlookItem.SenderAddress -
你在 OutlookSpy 中看到了什么?