防止在Word中“保存”(另存为可以)

时间:2015-10-07 21:13:37

标签: ms-word word-vba

我只是想知道如何阻止(停止)用户保存文档(只需“保存”,“另存为”就可以了)。我有一个.docm,我用它作为模板,用户只填写三个字段。我不希望他们不小心填写它,然后保存在模板上。

我见过一个few SO threads代码,但是当我在“Microsoft Word Objects”下的“ThisDocument”中添加以下内容时,点击保存时没有任何反应:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    MsgBox ("Please 'Save As' instead.")
    Debug.Print "Someone tried to save."
    Cancel = True
End Sub

我期待当我点击保存图标(或CTRL + S)弹出消息框时。 ..那不会发生(debug.print行也不起作用)。我在俯瞰什么?

相关问题:我是否应该忘记执行上述操作,只创建一个真正的模板文档(.dotm)?

1 个答案:

答案 0 :(得分:0)

是的,您的用户应该从模板创建新文档。将模板保存在用户'模板文件夹,以便他们可以在想要创建新文档时通过文件/新访问它...

关于您显示的代码:工作簿适用于Excel,不会在Word中触发。在Word中,事件是Document_BeforeSave,并且您希望将SaveAsUI参数设置为True以强制显示对话框。