【问题标题】:Deploying an add-in for Office 2003 and Office 2007 (with Ribbon support)为 Office 2003 和 Office 2007 部署加载项(支持功能区)
【发布时间】:2011-09-06 10:55:32
【问题描述】:
我编写了一个 Word 2003 加载项,它使用 2003 PIA 进行早期绑定。我希望相同的可执行文件支持 Office 2007 和 2010 中的功能区界面,同时仍在 Office 2003 中运行。
是否可以后期绑定 IRibbonExtensibility 接口?如果没有,是否有其他方法可以动态区分 Office 版本?
【问题讨论】:
标签:
ms-office
ribbon
office-interop
office-2007
office-2010
【解决方案1】:
有一本关于在 Office 中使用功能区 UI 的好书:
RibbonX:自定义 Office 2007 功能区
罗伯特·马丁、肯·普尔斯、特蕾莎·亨尼格
作者和 MS 都提出了解决这个问题的方法:
当您的加载项加载时,它会查询应用程序以找出它正在运行的版本。
如果是 Office 2003,它会创建一个普通的 CommandBars 'n Buttons UI。
如果是 Office 2007 或更高版本,它会查找另一个加载项并按需加载它。第二个加载项仅包含用于创建功能区 UI 的 RibbonX 代码以及按钮单击事件的处理程序。处理程序只是回调主加载项。
通过在 RibbonXML 和处理程序中巧妙地使用标记,您可以让单个处理程序确定要调用主插件中的哪个例程。