我正在使用C#编写控制台应用程序,该程序接收文档路径并在Microsoft Word 2010中打开它。
Word.Application oWordApp = new Word.Application();
DisableSaveAsButton(oWordApp);
oWordApp.Visible = true;
try
{
Word.Document doc = oWordApp.Documents.Open(docFile);
doc.Activate();
} catch (System.Exception e)
{
Console.WriteLine("Error opening document\n"+ e.ToString() + "\n" +e.StackTrace);
}
其中docFile是.doc文件路径。
我想打开Word,使“另存为”按钮无法使用,显示为灰色。我发现了DisableSaveAsButton方法,应该像这样:
private void DisableSaveAsButton(Word.Application oWordApp)
{
Object MenuBar = 40;
Object FileMenu = 1;
Object SaveAsButton = 5;
var saveAsBtn = oWordApp.CommandBars[MenuBar].Controls[FileMenu].accChild[SaveAsButton] as CommandBarButton;
saveAsBtn.Enabled = false;
}
但是这个方法不起作用。从我所看到的,大多数人通过编辑项目中的Ribbon1.xml来找到这个解决方案,但我的程序是一个带有Word功能的控制台应用程序,而不是Word插件,并且它没有任何ribbon xml文件。因此,我想知道是否可以从控制台应用程序中禁用“另存为”按钮(老板的要求),而不是使用具有自己模板的插件?