需要VBS代码才能保存xlsm

时间:2016-09-10 18:38:51

标签: excel vbscript

我尝试了很多网站和组合,但我无法创建VBS脚本来打开我的CsV文件,然后将其另存为Xlsm文件。我确实让它重命名文件,但重命名的文件被认为已损坏,无法打开。 在Excel中,您可以打开CSV并执行保存为Xlsm并且它可以正常工作。我想用下面的脚本自动化这个过程。这是Excel 2013。 选项明确

Dim xlApp, xlBook

Set xlApp = CreateObject("Excel.Application")
xlApp.DisplayAlerts = False
Set xlBook = xlApp.Workbooks.Open("c:\1Datadump\datadump.csv")
xlApp.Application.Visible = True


ActiveWorkbook.SaveAs Filename:="C:\1Datadump\datadump.xlsm"
xlApp.Workbooks.close
xlApp.Application.Quit

感谢您提出任何建议。

2 个答案:

答案 0 :(得分:1)

阅读herehere /为什么

for i in range(10):
    l.append([0] * 10)

(:=,命名参数)无效VBScript。

答案 1 :(得分:0)

您需要指定FileFormat。您还需要确定工作簿参考资格:

如果您要保存ActiveWorkbook,请使用Application.ActiveWorkbook

Const xlOpenXMLWorkbookMacroEnabled = 52
xlApp.ActiveWorkbook.SaveAs "C:\1Datadump\datadump.xlsm", xlOpenXMLWorkbookMacroEnabled

但是因为你已经引用了工作簿;我会用:

Const xlOpenXMLWorkbookMacroEnabled = 52
xlBook.SaveAs "C:\1Datadump\datadump.xlsm", xlOpenXMLWorkbookMacroEnabled