首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用VBA在MS-Word 2010/2013中禁用保存、另存为按钮

如何使用VBA在MS-Word 2010/2013中禁用保存、另存为按钮
EN

Stack Overflow用户
提问于 2013-06-07 14:24:58
回答 2查看 13.7K关注 0票数 2

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

我已经尝试使用以下命令禁用这些按钮:

代码语言:javascript
复制
Word.CommandBars("File").Controls("&Save").Enabled = False
Word.CommandBars("File").Controls("&Save").Visible = False

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-13 17:53:08

从2007版本开始,“菜单控件”不再通过CommandBars object model.So来控制,为了控制菜单项,我必须定义Ribbon XML,它必须合并到文档中,或者作为插件的一部分加载。

为了在Word 2010中禁用Save和SaveAs,我使用了以下XML代码:

代码语言:javascript
复制
<?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>

我使用Custom UI Editor来执行和测试这段代码。这个link提供了如何使用自定义UI编辑器的很好的培训。

谢谢

票数 3
EN

Stack Overflow用户

发布于 2013-06-07 14:29:57

您可以使用Workbook_BeforeSave事件。

http://msdn.microsoft.com/en-us/library/office/ff840057.aspx

代码语言:javascript
复制
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Cancel = True
End Sub

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16977599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档