0

我有一个用 C# (Visual Studio 2005) 编写的 MS Office COM 插件并使用 COM Shim dll。该插件不使用 VSTO 技术并支持 Excel XP 及更高版本。该插件添加了一个新的工具栏和一个菜单。

该插件在 Excel 2007 中运行良好,但它与工具栏和菜单一起显示在名为“插件”的单独选项卡中。我想将此插件与 Excel 2007 功能区工具栏集成,并创建一个带有组和按钮的新选项卡。

我浏览了许多文章,发现 IRibbonExtensibility 是用于支持 Ribbon 的接口。此外,COM Shim Wizards 有一个支持功能区界面的新版本 2.3。

我想知道它是否可以完成以及项目中需要进行的更改。

  1. 目前,项目中使用的是OfficeXP 的office.dll 文件(v 7.0)。但 IRibbonExtensibility 接口位于 Office 2007 的 dll (v12) 中。所以我认为我需要做的第一件事就是更改这个 dll 并更新代码中的所有引用。这个 dll 是否支持以前的版本(向后兼容)?我不想破坏现有的功能。
  2. COM Shim dll 会发生什么变化?
4

1 回答 1

0

我没有使用过 OfficeXP,但是针对 2000、2003 和 2007 构建了 COM 插件。

我最近使用 IRibbonExtensibility 接口为 Office 2007 构建了一个 COM 插件,并引用了 v12 PIA。

当我将它与 Office 2003 一起使用时,我发现它运行良好。但是,我的插件仅提供一些非常基本的功能,并没有对 Excel 对象进行多次调用。我调整了 OnConnection 方法以仅在 Applicaiton.Version 小于 12 时设置 CommandBars。

我记得没有任何代码更改需要从 2003 PIA 切换到 2007 PIA。过去发现您可以轻松地在不同版本的 PIA 之间切换。

詹姆士

于 2009-05-07T08:15:07.080 回答