我有这个代码,它保存了一个特定地方的附件,并将其重命名为“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'的格式与文件扩展名不同 . 确认它没有损坏...”
一旦我点击是并且它打开,所有数据都是奇怪的符号 . 如果我用'&objAtt.DisplayName'替换&'\ name.xls',它将正确保存文件的原始名称 .
我已经仔细检查过这是一个.xls文件 . 找出更通用的东西(以便相同的脚本适用于.xls .xlsx和.xlsm)也会非常有用,但不是那么重要 .
1 回答
如果有多个附件,则您的代码可能会将Excel附件替换为其他附件之一 .
尝试这样的事情,找出答案
你应该在这里添加一些验证 . 假设所有附件都是Excel文件是一个很大的风险 .