我編寫了一個Word 2003加載項,該加載項使用2003 PIA進行早期綁定。我希望同一個可執行文件支持Office 2007和2010中的Ribbon界面,同時仍在Office 2003中運行。部署Office 2003和Office 2007加載項(使用功能區支持)
是否可以延遲綁定IRibbonExtensibility接口?如果沒有,是否有另一種方法來動態區分Office版本?
我編寫了一個Word 2003加載項,該加載項使用2003 PIA進行早期綁定。我希望同一個可執行文件支持Office 2007和2010中的Ribbon界面,同時仍在Office 2003中運行。部署Office 2003和Office 2007加載項(使用功能區支持)
是否可以延遲綁定IRibbonExtensibility接口?如果沒有,是否有另一種方法來動態區分Office版本?
有一本好書與Office Ribbon UI的工作: RibbonX:自定義Office 2007功能區 羅伯特·馬丁,肯·普爾斯,鄧麗君的Hennig
作者和MS都建議沿着這些線路的一招解決這個問題:
當您的外接程序加載時,將查詢的應用程序,找出它在運行的版本
如果Office 2003,它會創建一個正常的CommandBars「N按鈕UI。
如果Office 2007或更高版本,它會查找另一個加載項並按需加載它。第二個加載項僅包含用於爲按鈕單擊事件創建功能區UI和處理程序的RibbonX代碼。處理程序只需調用回主加載項。
通過在RibbonXML和處理程序中稍微巧妙地使用標記,可以讓一個處理程序計算出主要加載項中要調用的哪個例程。