我正在使用C#上的控制臺(tái)應(yīng)用程序,該應(yīng)用程序會(huì)接收文檔路徑并在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; }但它不會(huì)工作。從我所讀的內(nèi)容中,大多數(shù)人通過在其項(xiàng)目上編輯Ribbon1.xml來找到此解決方案,但是我的程序是具有Word功能的控制臺(tái)應(yīng)用程序,而不是Word加載項(xiàng),并且它沒有任何Ribbon XML文件。 。所以我想知道,是否可以從控制臺(tái)應(yīng)用程序中禁用“另存為”按鈕(老板要求),而不是使用帶有其自己模板的加載項(xiàng)?
1 回答

哈士奇WWW
TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊
您發(fā)現(xiàn)的代碼是舊技術(shù)-Word 2007以前的版本。CommandBar對(duì)象已被Ribbon XML取代,并且用于禁用功能的舊命令不再起作用。這是Microsoft的一項(xiàng)有意識(shí)的設(shè)計(jì)決定。
在較新的功能區(qū)界面中,僅在進(jìn)程中運(yùn)行的代碼也會(huì)影響用戶界面。因此,您想做的事情是不可能的,至少在沒有加載VBA或VSTO加載項(xiàng)的情況下也是不可能的。
如果您不希望用戶能夠保存他們的工作,那么“閱讀器”似乎比使用功能強(qiáng)大的Word應(yīng)用程序更好,該應(yīng)用程序首先是一個(gè)編輯器。例如,最好將文檔保存為PDF文件格式,然后在Acrobat Reader中打開它們。
- 1 回答
- 0 關(guān)注
- 157 瀏覽
添加回答
舉報(bào)
0/150
提交
取消