2009-05-01 58 views
0

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

该插件在Excel 2007中正常工作,但它显示在名为“AddIns”的单独标签以及其工具栏和菜单中。我想将此插件与Excel 2007功能区工具栏集成,并创建一个包含组和按钮的新选项卡。

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

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

  1. 目前,OfficeXP的office.dll文件在项目中使用(v 7.0)。但IRibbonExtensibility接口位于Office 2007的dll(v12)中。所以我认为我需要做的第一件事是更改此dll并更新代码中的所有参考。这个DLL会支持以前的版本(向后兼容)吗?我不想打破现有的功能。
  2. COM Shim dll中的变化会怎样?

回答

0

我还没有使用OFFICEXP,但已经建立COM外接对2000年,2003年和2007年

我最近建立了一个COM加载项的Office 2007使用IRibbonExtensibility界面,在V12 PIA的引用。

当我在Office 2003中使用它时,发现它工作得很好。但是,我的AddIns仅提供了一些非常基本的功能,并且不会在Excel对象上使用很多调用。我调整了OnConnection方法来设置CommandBars,只有当Applicaiton.Version小于12.

没有我记得从2003 PIA切换到2007 PIA所需的代码更改。过去发现你可以在最小的努力下在不同版本的PIA之间切换。

James

+0

我已经使用了新的COM Shim Wizard来支持我的COM插件中的IRibbonExtensibility接口。该向导添加了一个由Ribbon框架使用的新的ManagedAggregator项目。除此之外,我没有记住任何重大变化。我还调整了OnConnection以设置版本<12的命令栏。 – A9S6 2009-12-29 11:49:45