2

使用 VBA,我想禁用(或隐藏)MS Word 2013 的文件菜单中显示的保存和另存为按钮,以便用户无法单击它们。

我尝试使用以下方法禁用这些按钮:

Word.CommandBars("File").Controls("&Save").Enabled = False
Word.CommandBars("File").Controls("&Save").Visible = False

但这没有效果。有什么办法可以禁用这些按钮?

4

2 回答 2

3

从 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 编辑器的良好培训。

谢谢

于 2013-06-13T09:53:08.323 回答
2

您可以使用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

在此处输入图像描述

于 2013-06-07T06:29:57.203 回答