部署 Office 2003 和 Office 2007 加载项(支持功能区)

发布于 2024-11-11 05:53:01 字数 187 浏览 5 评论 0原文

我编写了一个 Word 2003 加载项,它使用 2003 PIA 进行早期绑定。我希望相同的可执行文件支持 Office 2007 和 2010 中的 Ribbon 界面,同时仍在 Office 2003 中运行。

是否可以后期绑定 IRibbonExtensibility 界面?如果没有,是否有另一种方法可以动态区分 Office 版本?

I wrote a Word 2003 add-in that uses the 2003 PIAs for early-binding. I want the same executable to support the Ribbon interface in Office 2007 and 2010, while still running in Office 2003.

Is it possible to late-bind the IRibbonExtensibility interface? If not, is there another way to dynamically differentiate between Office versions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

画▽骨i 2024-11-18 05:53:02

有一本关于在 Office 中使用功能区 UI 的好书:
RibbonX:自定义 Office 2007 功能区
Robert Martin、Ken Puls、Teresa Hennig

作者和 MS 都提出了解决此问题的技巧:

当您的加载项加载时,它会查询应用程序以找出它正在运行的版本。

如果是 Office 2003,它会创建一个普通的 CommandBars 'n Buttons UI。

如果是 Office 2007 或更高版本,它会查找另一个加载项并按需加载它。第二个加载项仅包含用于创建功能区 UI 的 RibbonX 代码以及按钮单击事件的处理程序。该处理程序只是回调主加载项。

通过在 RibbonXML 和处理程序中巧妙地使用标签,您可以让单个处理程序确定要调用主加载项中的哪个例程。

There's a good book on working with the ribbon UI in Office:
RibbonX: Customizing the Office 2007 Ribbon
Robert Martin, Ken Puls, Teresa Hennig

The authors and MS both suggest a trick along these lines for solving this problem:

When your add-in loads, it queries the app to find out what version it's running in.

If Office 2003, it creates a normal CommandBars 'n Buttons UI.

If Office 2007 or later, it looks for another add-in and demand-loads it. This second add-in contains just the RibbonX code to create your ribbon UI plus handlers for the button click events. The handler simply calls back to the main add-in.

With a little clever use of tags in your RibbonXML and handler, you can have a single handler work out which routine in the main add-in to call.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文