Excel 自动化 - 重置模板工作簿的全名

Excel automation - Reset fullname of a template workbook

我正在以 excel 作为后端生成自动报告,并且我从一个预定义的模板开始,在该模板中我只提供缺少的部分:

excelApp = actxserver('Excel.Application');
excelWB = excelApp.Workbooks.Open('Mytemplate.xslx');
excelWB.Saved = false;
... Feed template with effective data ...

我想要的是能够重置打开的模板工作簿的全名,这样当用户单击关闭按钮时,他会像往常一样提示输入 SaveSaveAs 但是单击 Save 应该询问文件位置,而不是覆盖现有模板。

可能吗? (我尝试手动重置工作簿对象的 PathFullName 属性,但这些属性是只读的,因此不起作用)。

将您的 "Mytemplate.xlsx" 文件另存为工作簿模板(“.xltx”文件)。当您打开模板文件时,它每次都会创建一个新的文件实例,而不是打开原始文件。此外,此新文件的默认行为是 "Save" 方法将提示输入文件位置。