2010-05-23 177 views
4

您好我一直在修補這兩種技術來修改帶有MS Word插件(Visual Studio 2010,.NET 3.5),Microsoft.Office.Tools.Ribbon.OfficeRibbon和Microsoft.Office.Core.IRibbonExtensibility 。我希望在插件的CreateRibbonExtensibilityObject中切換兩者,但由於某種原因,現在不調用它。該文檔說,如果一個插件實現了CreateRibbonExtensibilityObject,它將被調用。當我創建一個新項目來測試這個事情時,它就可以工作。我不想現在放棄我的項目。有任何想法嗎?謝謝。爲什麼我的CreateRibbonExtensibilityObject方法不被調用?

回答

1

他們不是真的可以互換。問題是,如果你使用OfficeRibbon對象(這真的很不錯,它有一個漂亮的設計師等),那麼IT實現createribbonextensibility的東西,你沒有機會截取它。

我在去年發表了一篇博客文章,討論了從VSTO 3插件添加對新的Office 2010「Backstage視圖」的支持問題(VSTO 3不支持Backstage,但它仍然可行,而且您還可以'd基本上使用相同的技術來替換功能區支持的實現)。

真正的問題是,爲什麼要麻煩?如果你已經完成了支持IExtensibility2的工作(然後有能力用XML完全定義你的功能區對象),那麼OfficeRibbon就不需要太多了。如果你使用的是官僚控制,它可以做任何你可以直接指定xml的東西,所以爲什麼要忍受痛苦呢?

博客在這裏發表 http://www.vbfengshui.com/integrating-with-the-new-office-backstage-from-a-vsto-3-addin/

+1

另外,去IExtensibility2使得它讓你的插件可以針對任何Office應用程序,而不僅僅是文字或Excel。我編寫了一個Office元數據清理工具,它支持從2000到2010年的所有Office版本,以及所有主要辦公應用程序,包括Word,Excel,PPT和Outlook。只有1個DLL來處理分發和調試是非常好的。 – DarinH 2011-03-22 16:30:58

相關問題