我正在尝试保存电子邮件中的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
答案 0 :(得分:0)
我逐行运行代码时找到了解决方案。
if语句表示要寻找" .msg"和" .xlsm"附件的displayname中的单词。在调查时,显示名称不会将文件扩展名转换为显示名称。
因此要解决这个问题," .msg"和" .xlsm"必须由文件名替换。
谢谢,