保存电子邮件附件的附件
问题描述:
我试图保存电子邮件中的Excel(.xlsm)文件。我通过另一封电子邮件收到此邮件。保存电子邮件附件的附件
我想将上述.xlsm文件下载到共享驱动器。查找多个在线论坛和MSDN帮助我写了以下代码:
当我运行此代码时,我没有收到任何错误。也没有保存任何文件。
Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim msgAtt As Outlook.Attachment
Dim saveFolder As String
' a to i are dummy names and have been replaced with correct folder path in real code
saveFolder = "\\a\b\c\d\e\f\g\h\i"
For Each objAtt In itm.Attachments
If InStr(objAtt.DisplayName, ".msg") Then
For Each msgAtt In itm.Attachments
If InStr(msgAtt.DisplayName, ".xlsm") Then
msgAtt.SaveAsFile saveFolder & "\" & msgAtt.DisplayName
End If
Next
Set msgAtt = Nothing
End If
Next
Set objAtt = Nothing
End Sub
答
我在逐行运行代码时找到了解决方案。
if语句说要在附件的显示名称中查找“.msg”和“.xlsm”字。在调查中,显示名称不会将文件扩展名显示在显示名称中。
因此要解决这个问题,“.msg”和“.xlsm”必须由文件名替换。
谢谢,
的可能的复制[VBA代码保存附件(Excel文件)从Outlook的电子邮件,这是另一个电子邮件内作为附件(https://stackoverflow.com/questions/7890612/vba -code-to-save-an-attachment-excel-from-an-an-an-outlook-email-that-ins-ins) – niton
@niton我同意所期望的结果是一样的,但在这种情况下面临的特定问题是不同于那种情况 –