【发布时间】:2017-04-26 16:17:26
【问题描述】:
我有这段代码可以将附件保存到特定位置并将其重命名为“name.xls”
Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
saveFolder = "C:\Users\acheng\Desktop"
For Each objAtt In itm.Attachments
objAtt.SaveAsFile saveFolder & "\name.xls"
Set objAtt = Nothing
Next
End Sub
一位用户在此线程中使用 .csv 文件做了非常相似的事情:
VBA Outlook - Rename attachments and save to folder
我做了同样的事情,除了 .xls 文件。
我的脚本保存并重命名文件,但当我尝试打开文件时,它显示:“'name.xls' 的格式与文件扩展名指定的格式不同。请确认它没有损坏...”
一旦我点击是并打开,所有数据都以奇怪的符号表示。如果我将 & '\name.xls' 替换为 '& objAtt.DisplayName' ,它将使用原始名称正确保存文件。
我已经仔细检查了这是一个 .xls 文件。找出更通用的东西(以便相同的脚本适用于 .xls、.xlsx 和 .xlsm)也会非常有帮助,但不是那么重要。
【问题讨论】: