保存电子邮件附件的附件

时间:2017-09-11 13:52:36

标签: vba outlook

我正在尝试保存电子邮件中的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

1 个答案:

答案 0 :(得分:0)

我逐行运行代码时找到了解决方案。

if语句表示要寻找" .msg"和" .xlsm"附件的displayname中的单词。在调查时,显示名称不会将文件扩展名转换为显示名称。

因此要解决这个问题," .msg"和" .xlsm"必须由文件名替换。

谢谢,