禁用Word 2010中的"另存为"按钮

3

我有以下代码,应该可以禁用 Word 2010 中的“另存为”按钮。以下方法在 Document_Startup 事件中被调用:

private void DisableSaveAsButton()
{
    Object MenuBar = 40;
    Object FileMenu = 1;
    Object SaveAsButton = 5;
    var saveAsBtn = this.ThisApplication.CommandBars[MenuBar].Controls[FileMenu].accChild[SaveAsButton] as CommandBarButton;
    saveAsBtn.Enabled = false;
}

我希望保存按钮变成灰色不可用,但它并没有变灰,而且仍然可以使用。我做错了什么?

这个链接对你有帮助吗?http://msdn.microsoft.com/en-us/library/ee815851.aspx - JonH
1个回答

4
我找到了解决方法。我只需将以下信息的Ribbon XML项添加到项目中即可。我还需要禁用一些其他按钮:
     <?xml version="1.0" encoding="UTF-8"?>
     <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" 
        onLoad="OnLoad" > 
        <commands> 
          <command idMso="FileSaveAs" enabled="false" />
          <command idMso="FileNewDefault" enabled="false"/>
          <command idMso="FileOpen" enabled="false"/>
          <command idMso="FileOpenRecentFile" enabled="false"/>
        </commands> 
     </customUI>

你需要在哪里添加这个XML? - bsara
此外,如果您想获取可用的 idMso 值列表,请参阅以下页面:http://www.microsoft.com/en-us/download/details.aspx?id=3582(Office 2007),http://www.microsoft.com/en-us/download/details.aspx?id=1574(Office 2010)或 http://www.microsoft.com/en-us/download/details.aspx?id=36798(Office 2013)。 - bsara
我在一个Windows窗体应用程序中遇到了同样的问题。您能告诉我在哪里可以添加这个XML文件以及如何引用它吗? - Nitin Joshi
如果有人需要,默認的功能區是Ribbon1.xml。我是通過搜索<commands>找到了我的。 - SPQR

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接