需要VBS代码来保存xlsm

我已经尝试了很多网站和组合,但是我无法创buildVBS脚本来打开我的CsV文件,然后将其另存为Xlsm文件。 我没有得到它重命名文件,但重命名的文件被认为是腐败的,不会打开。 在Excel中,你可以打开一个CSV文件,并保存为Xlsm,它可以工作。 我想用下面的脚本自动化这个过程。 这是Excel 2013. Option Explicit

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 

谢谢你的任何build议。

阅读这里或这里 /为什么

 ActiveWorkbook.SaveAs Filename:="C:\1Datadump\datadump.xlsm" 

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

您需要指定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