MSWORD VBA 保存时关闭文档

MSWORD VBA 保存时关闭文档

我正在尝试使用 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.CloseActiveDocument.Save


修改 Word 命令

此示例将引导您完成修改命令所需的步骤 FileSave

  1. 在“工具”菜单上,指向“宏”,然后单击“宏”。

  2. 在“宏”框中,选择 Word 命令。

  3. 在宏名框中,选择 FileSave。

  4. 在“宏位于”框中,选择用于存储宏的模板或文档位置。

    例如,选择Normal.dot(全局模板)来创建一个全局宏(该FileSave命令将针对所有文档进行修改)。

  5. 单击创建按钮。

FileSave 宏如下所示。

Sub FileSave()
'
' FileSave Macro
' Saves the active document or template
'
    ActiveDocument.Save

End Sub

您可以添加其他指令或删除现有 ActiveDocument.Save指令。

现在,每次FileSave运行命令时,FileSave都会运行宏,而不是单词命令。要恢复原始FileSave 功能,您需要重命名或删除FileSave宏。

来源修改 Word 命令

相关内容