保存工作簿 "backup copy" 而不提交对 Excel 的更改?
Save "backup copy" of workbook without committing changes to Excel?
我不确定这是否可能,但也许我遗漏了一些明显的东西。
我想以编程方式在不可见的情况下保存当前状态的工作簿的 "backup" 副本,而不 "committing" 对 Excel 的更改或破坏 撤消 历史记录。
示例场景:
- 用户打开
c:\folder1\workbookA.xlsm
- 用户对工作簿进行了更改,他们可能不希望提交给。
- 我的子程序由于计时器或其他事件而开始,并在后台将工作簿的副本另存为
c:\folder2\workbookB.xlsm
要注意的是,这个创建备份副本的操作需要 "invisible" 给用户,这样如果他们以后 Save
或 close discarding changes
,结果就和没有创建我的备份副本一样。
这意味着:
- 标题栏中的文件名没有改变,
- Ctrl+Z/撤消 仍然有效,
- 如果用户关闭工作簿,系统仍会提示他们保存更改?
(使用 workbook.Saved = False
很容易)
- 如果他们选择是,那么工作簿会像正常一样保存
(替换 c:\folder1\workbookA.xlsm
处的文件。)
- 如果他们选择 否,工作簿将关闭并且
c:\folder1\workbookA.xlsm
处的文件仍是原始的、未修改的形式,就好像没有在步骤 #2 中进行了更改。
据我所知,workbook.SaveAs
总是更新工作簿的名称并清除 "undo" 历史记录,因此如果不保留更改就无法关闭文件。
谢谢!
我坐在那里想,"if only there was a Save Copy As… option..."
然后我意识到解决方案就在我面前:the .SaveCopyAs
method。
Workbook.SaveCopyAs Method (Excel)
Saves a copy of the workbook to a file but doesn't modify the open workbook in memory.
Syntax
expression
.
SaveCopyAs(
Filename
)
expression
- a variable that represents a Workbook
object.
Filename
Variant (Required) - Specifies the file name for the copy.
注意:‖文档错误地说 Filename
参数是 可选(这不会有道理)。
我有 edited MSDN 页面,等待批准。
我不确定这是否可能,但也许我遗漏了一些明显的东西。
我想以编程方式在不可见的情况下保存当前状态的工作簿的 "backup" 副本,而不 "committing" 对 Excel 的更改或破坏 撤消 历史记录。
示例场景:
- 用户打开
c:\folder1\workbookA.xlsm
- 用户对工作簿进行了更改,他们可能不希望提交给。
- 我的子程序由于计时器或其他事件而开始,并在后台将工作簿的副本另存为
c:\folder2\workbookB.xlsm
要注意的是,这个创建备份副本的操作需要 "invisible" 给用户,这样如果他们以后 Save
或 close discarding changes
,结果就和没有创建我的备份副本一样。
这意味着:
- 标题栏中的文件名没有改变,
- Ctrl+Z/撤消 仍然有效,
- 如果用户关闭工作簿,系统仍会提示他们保存更改?
(使用workbook.Saved = False
很容易)- 如果他们选择是,那么工作簿会像正常一样保存
(替换c:\folder1\workbookA.xlsm
处的文件。) - 如果他们选择 否,工作簿将关闭并且
c:\folder1\workbookA.xlsm
处的文件仍是原始的、未修改的形式,就好像没有在步骤 #2 中进行了更改。
- 如果他们选择是,那么工作簿会像正常一样保存
据我所知,workbook.SaveAs
总是更新工作簿的名称并清除 "undo" 历史记录,因此如果不保留更改就无法关闭文件。
谢谢!
我坐在那里想,"if only there was a Save Copy As… option..."
然后我意识到解决方案就在我面前:the .SaveCopyAs
method。
Workbook.SaveCopyAs Method (Excel)
Saves a copy of the workbook to a file but doesn't modify the open workbook in memory.
Syntax
expression
.
SaveCopyAs(
Filename
)
expression
- a variable that represents aWorkbook
object.Filename
Variant (Required) - Specifies the file name for the copy.
注意:‖文档错误地说 Filename
参数是 可选(这不会有道理)。
我有 edited MSDN 页面,等待批准。