打开并保存xltm文件

时间:2016-01-12 13:22:08

标签: vbscript xlsm excel.application

我在VBScript中使用了一些代码来打开.xlsm文件并保存该文件。现在我想做一个.xltm文件。我试图用脚本打开xltm文件,它工作正常。保存该文件时,它会引用默认位置和默认扩展名。我需要在指定位置保存新打开的文件,扩展名为“.xlsm”。我不知道该怎么办。请帮我解决这个问题。

Set objExcel = CreateObject("Excel.Application") 
Set WBTestFile = objExcel.Workbooks.Open(WScript.Arguments(0))'SourceFile
WBTestFile.save 
WBTestFile.close 
objExcel.Workbooks.Open(WScript.Arguments(0))

这里,我传递文件名(带路径)作为参数。我需要在最后一个语句中打开新保存的“.xlsm”文件。参数:“c:\ test \ book1.xltm”,我新创建的文件希望保存在“C:\ test \”位置,扩展名为“xlsm”。

1 个答案:

答案 0 :(得分:1)

Save方法按原样保存文件。要以不同的格式保存它,您需要使用SaveAs方法和正确的file format参数(在本例中为启用宏的Open XML模板):

filename = WScript.Arguments(0)
templatename = Replace(filename, ".xlsm", ".xltm")

Set xl = CreateObject("Excel.Application")
Set wb = xl.Workbooks.Open(filename)
wb.SaveAs templatename, 53  'save as template
wb.Close
xl.Quit

要从现有模板创建新工作簿,您需要使用Add方法并将模板路径作为参数,然后将该文件另存为启用宏的Open XML工作簿:

template = WScript.Arguments(0)
filename = Replace(template, ".xltm", ".xlsm")

Set xl = CreateObject("Excel.Application")
Set wb = xl.Workbooks.Add(template)
wb.SaveAs filename, 52  'save as workbook
wb.Close
xl.Quit