VBA 在 Word 代码中删除或更改 ThisDocument 中的代码

VBA in Word code to delete or change code from ThisDocument

我在 Microsoft Word .docm 文件中有一些代码禁用了保存功能并弹出了一条消息:

Sub FileSave()
MsgBox "Save is Disabled." & vbNewLine & "" & vbNewLine & "To save changes, use Save As."
End Sub

这可能有点棘手,但我现在想做的是禁用 that 代码,即在某个触发事件(当用户单击按钮)。

第一次打开文档时,我有它,所以只启用另存为,不保存。在某个事件之后,我想保存再次工作。

我已经得到了这样的东西,以编程方式添加代码到 ThisDocument:

 ThisDocument.VBProject.VBCompontents("ThisDocument").CodeModule.AddFromString "Private Sub Document_Close(): ActiveDocument.Saved = True: End Sub"

但是我不知道是否有办法使用其他代码来编辑或删除代码。

一种更简单的方法是使用布尔类型的变量。单击按钮时更改布尔值,然后使用条件语句重新启用保存

我让它以不同的方式工作,使禁用代码保存 If 语句:

Sub FileSave()
If ActiveDocument.Bookmarks.Exists("table") = True Then
    MsgBox "Save is Disabled." & vbNewLine & "" & vbNewLine & "To save changes, use Save As and overwrite your file."

Else:
If ActiveDocument.Saved = False Then ActiveDocument.Save
End If

End Sub

它查找在按钮单击事件中被删除的书签,如果存在则阻止保存。删除书签后,用户可以再次保存。

如果有人知道,我仍然很想知道如何删除代码,但我想这是一种更简单的方法。