使用 VBA,我想禁用(或隐藏)MS Word 2013 的文件菜单中显示的保存和另存为按钮,以便用户无法单击它们。
我尝试使用以下方法禁用这些按钮:
Word.CommandBars("File").Controls("&Save").Enabled = False
Word.CommandBars("File").Controls("&Save").Visible = False
但这没有效果。有什么办法可以禁用这些按钮?
使用 VBA,我想禁用(或隐藏)MS Word 2013 的文件菜单中显示的保存和另存为按钮,以便用户无法单击它们。
我尝试使用以下方法禁用这些按钮:
Word.CommandBars("File").Controls("&Save").Enabled = False
Word.CommandBars("File").Controls("&Save").Visible = False
但这没有效果。有什么办法可以禁用这些按钮?
从 2007 版开始,“菜单控件”不再通过 CommandBars 对象模型进行控制。因此,要控制菜单项,我必须定义功能区 XML,它必须合并到文档中,或者作为加载项的一部分加载.
要在 Word 2010 中禁用 Save 和 SaveAs,我使用了以下 XML 代码:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<commands>
<command idMso="FileSave" enabled="false" />
<command idMso="FileSaveAsMenu" enabled="false" />
<command idMso="FileSaveAsWordDocx" enabled="false" />
<command idMso="FileSaveAsWordDotx" enabled="false" />
<command idMso="FileSaveAs" enabled="false" />
<command idMso="FileSaveAsWord97_2003" enabled="false" />
<command idMso="FileSaveAsPdfOrXps" enabled="false" />
<command idMso="FileSaveAsOtherFormats" enabled="false" />
<command idMso="FileSaveToDocumentManagementServer" enabled="false" />
<command idMso="SaveSelectionToQuickPartGallery" enabled="false" />
<command idMso="FrameSaveCurrentAs" enabled="false" />
<command idMso="FileSaveAsWordOpenDocumentText" enabled="false" />
</commands>
</customUI>
我使用自定义 UI 编辑器来执行和测试此代码。此链接提供了有关如何使用自定义 UI 编辑器的良好培训。
谢谢
您可以使用Workbook_BeforeSave
事件。
http://msdn.microsoft.com/en-us/library/office/ff840057.aspx
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = True
End Sub