我正在运行一个宏来生成报告。一切都很好。宏完成没有任何错误消息。当我想打开生成的报告时,它会出现(t)错误消息:
" Excel无法打开文件' abc.xlsx'因为文件格式或文件扩展名无效。"
当我保存为 .xlsM 时,它确实有效,但我不希望宏在最终报告中可用(以防止人们在运行它并避免数据损坏。
这是我正在使用的代码:
ActiveWorkbook.SaveAs Filename:=path & reportname & ".xlsx",
fileFormat:=xlNormal
欢迎任何想法!
答案 0 :(得分:3)
由于您表明不希望最终工作簿能够启用宏,所以这就是您想要的:
ActiveWorkbook.SaveAs Filename:=path & reportname & ".xlsx", FileFormat:=xlOpenXMLWorkbook
答案 1 :(得分:0)
Excel 2007及更新版本不再识别FileFormat:=xlNormal
。因此它以传统格式保存文件,因此您必须将其命名为.xls
。
根据在线帮助,新格式称为FileFormat:=xlOpenXMLWorkbook
(MacroEnabled
)。
答案 2 :(得分:0)
试试这个
Sub Macro1()
Dim Path As String
Dim ReportName As String
Path = "C:\Users\Desktop\"
ReportName = "abc.xlsx"
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:= _
Path & ReportName, FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
Application.DisplayAlerts = True
End Sub