Добавление поддержки ленты в Excel COM Addin - PullRequest
0 голосов
/ 01 мая 2009

У меня есть надстройка MS Office COM, написанная на C # (Visual Studio 2005), и я использую COM Shim dll. Надстройка НЕ ​​использует технологию VSTO и поддерживает Excel XP и выше. Надстройка добавляет новую панель инструментов и меню.

Надстройка отлично работает в Excel 2007, но она отображается на отдельной вкладке с именем «AddIns» вместе с панелями инструментов и меню. Я хочу интегрировать это дополнение с панелью инструментов Excel 2007 и создать новую вкладку с группами и кнопками.

Я просмотрел несколько статей и обнаружил, что IRibbonExtensibility - это интерфейс, который будет использоваться для поддержки ленты. Также у COM Shim Wizards есть новая версия 2.3, которая поддерживает ленточный интерфейс.

Я хочу знать, можно ли это сделать, и какие изменения потребуются в проекте.

  1. В настоящее время в проекте используется файл officeXP office.dll (v 7.0). Но интерфейс IRibbonExtensibility находится в dll Office 2007 (v12). Поэтому я думаю, что первое, что мне нужно сделать, это изменить эту DLL и обновить все ссылки в коде. Будет ли эта DLL поддерживать предыдущие версии (обратно совместимые)? Я не хочу нарушать существующую функциональность.
  2. Какие будут изменения в COM Shim dll?

1 Ответ

0 голосов
/ 07 мая 2009

Я не использовал OfficeXP, но построил надстройки COM для 2000, 2003 и 2007 гг.

Недавно я создал COM AddIn для Office 2007, используя интерфейс IRibbonExtensibility со ссылками на PIA v12.

Когда я использовал это с Office 2003, я обнаружил, что это работает довольно хорошо. Тем не менее, мои AddIns предоставляют только некоторые базовые функции и не используют много вызовов для объектов Excel. Я настроил метод OnConnection для настройки CommandBars, только если Applicaiton.Version было меньше 12.

Не было никаких изменений кода, которые, как я помню, требовались для переключения с PIA 2003 на PIA 2007. В прошлом вы могли переключаться между различными версиями PIA с минимальными усилиями.

Джеймс

...