Ms office 为Office 2003和Office 2007部署外接程序(具有功能区支持)

Ms office 为Office 2003和Office 2007部署外接程序(具有功能区支持),ms-office,ribbon,office-interop,office-2007,office-2010,Ms Office,Ribbon,Office Interop,Office 2007,Office 2010,我写了一个Word 2003插件,它使用2003 PIA进行早期绑定。我希望相同的可执行文件支持Office2007和2010中的功能区界面,同时仍在Office2003中运行 是否可以延迟绑定iRibboneExtensibility接口?如果没有,是否有其他方法可以动态区分Office版本?有一本关于在Office中使用ribbon UI的好书: RibbonX:自定义Office 2007功能区 罗伯特·马丁、肯·普尔斯、特蕾莎·亨尼 作者和MS都提出了一个解决这个问题的方法: 加载外接程

我写了一个Word 2003插件,它使用2003 PIA进行早期绑定。我希望相同的可执行文件支持Office2007和2010中的功能区界面,同时仍在Office2003中运行


是否可以延迟绑定iRibboneExtensibility接口?如果没有,是否有其他方法可以动态区分Office版本?

有一本关于在Office中使用ribbon UI的好书: RibbonX:自定义Office 2007功能区 罗伯特·马丁、肯·普尔斯、特蕾莎·亨尼

作者和MS都提出了一个解决这个问题的方法:

加载外接程序时,它会查询应用程序以了解其运行的版本

如果是Office 2003,它将创建一个普通CommandBars的n按钮UI

如果Office 2007或更高版本,它将查找另一个加载项并按需加载它。第二个外接程序只包含RibbonX代码,用于为按钮单击事件创建功能区UI和处理程序。处理程序只需调用主外接程序

通过在RibbonXML和处理程序中巧妙地使用标记,您可以让单个处理程序计算出主外接程序中要调用的例程