我不确定这是可能的,但也许我错过了一些明显的东西。
我想以编程方式,无形地保存"备份"工作簿的副本处于当前状态,没有"提交"对Excel的更改或破坏撤消历史记录。
c:\folder1\workbookA.xlsm
c:\folder2\workbookB.xlsm
问题在于,创建备份副本的操作需要是"隐藏"对于用户,如果他们稍后Save
或 close discarding changes
,结果将与我的备份副本未创建时相同。
这意味着:
workbook.Saved = False
)
c:\folder1\workbookA.xlsm
处的文件。)c:\folder1\workbookA.xlsm
处的文件仍为原始未经修改的格式,好像没有进行任何更改在步骤#2中。据我所知,workbook.SaveAs
总是更新工作簿的名称并清除"撤消"历史记录,所以没有保留更改就无法关闭文件。
谢谢!
答案 0 :(得分:3)
我坐在那里思考,"如果只有保存副本为... 选项......"
然后我意识到解决方案正好在我面前:the .SaveCopyAs
method。
Workbook.SaveCopyAs方法(Excel)
将工作簿的副本保存到文件中,但不会修改内存中打开的工作簿。
语法
expression
.
的SaveCopyAs(
Filename
)
强> < / p>
expression
- 表示Workbook
对象的变量。Filename
Variant (必填) - 指定副本的文件名。
注意:文档错误地说Filename
参数是可选(这没有意义)。
我已经edited MSDN页面,等待批准。