![MSWORD VBA 保存时关闭文档](https://linux22.com/image/1489938/MSWORD%20VBA%20%E4%BF%9D%E5%AD%98%E6%97%B6%E5%85%B3%E9%97%AD%E6%96%87%E6%A1%A3.png)
我正在尝试使用 VBA 在保存时关闭文档。
我对此进行了广泛的搜索,但大多数情况下,人们试图在关闭文档时不关闭保存功能。到目前为止,我得到的是以下内容(我删除了不相关的代码)。
Private Sub App_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean)
ActiveDocument.Close
End Sub
这会导致 word 崩溃,文档无法保存,可能是因为程序错误?用 替换ActiveDocument.close
有效App.Quit
,但这会关闭所有打开的文档(这不是所需的行为)。
任何想法都将不胜感激。
答案1
我正在尝试使用 VBA 在保存时关闭文档。
您可以覆盖(修改)现有的单词命令。
在这种情况下,您需要在下面的代码中修改FileSave
并添加ActiveDocument.Close
。ActiveDocument.Save
修改 Word 命令
此示例将引导您完成修改命令所需的步骤
FileSave
。
在“工具”菜单上,指向“宏”,然后单击“宏”。
在“宏”框中,选择 Word 命令。
在宏名框中,选择 FileSave。
在“宏位于”框中,选择用于存储宏的模板或文档位置。
例如,选择
Normal.dot
(全局模板)来创建一个全局宏(该FileSave
命令将针对所有文档进行修改)。单击创建按钮。
FileSave 宏如下所示。
Sub FileSave()
'
' FileSave Macro
' Saves the active document or template
'
ActiveDocument.Save
End Sub
您可以添加其他指令或删除现有
ActiveDocument.Save
指令。现在,每次
FileSave
运行命令时,FileSave
都会运行宏,而不是单词命令。要恢复原始FileSave
功能,您需要重命名或删除FileSave
宏。