我编写了一个Word 2003加载项,它使用2003 PIA进行早期绑定。我希望相同的可执行文件在Office 2007和2010中支持Ribbon界面,同时仍在Office 2003中运行。
是否可以延迟绑定IRibbonExtensibility接口?如果没有,是否有另一种方法可以动态区分Office版本?
答案 0 :(得分:0)
有一本关于在Office中使用功能区UI的好书: RibbonX:自定义Office 2007功能区 Robert Martin,Ken Puls,Teresa Hennig
作者和MS都提出了解决这个问题的技巧:
当您的加载项加载时,它会查询应用以找出它正在运行的版本。
如果是Office 2003,它会创建一个普通的CommandBars'n Buttons UI。
如果是Office 2007或更高版本,它会查找另一个加载项并按需加载它。第二个加载项仅包含RibbonX代码,用于创建功能区UI以及按钮单击事件的处理程序。处理程序只需回调主加载项。
通过在RibbonXML和处理程序中巧妙地使用标记,您可以让一个处理程序解决主要加载项中要调用的例程。