Вопрос

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

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

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

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

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

Решение

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

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

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

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

Джеймс

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top