打开并保存 xltm 文件

open and save a xltm file

我在 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".

Save method saves the file as-is. To save it in a different format you need to use the SaveAs method with the correct file format参数(在本例中是macro-enabled打开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 方法并将模板路径作为参数,然后将文件另存为 macro-enabled 打开 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