Развертывание надстройки для Office 2003 и Office 2007 (с поддержкой ленты)

Я написал надстройку Word 2003, которая использует PIA 2003 для раннего связывания. Я хочу, чтобы один и тот же исполняемый файл поддерживал интерфейс ленты в Office 2007 и 2010, но при этом работал в Office 2003.

Возможно ли позднее привязать интерфейс IRibbonExtensibility? Если нет, есть ли другой способ динамически различать версии Office?


person Natan Yellin    schedule 01.06.2011    source источник


Ответы (1)


По работе с ленточным интерфейсом в Office есть хорошая книга: RibbonX: Customizing the Office 2007 Ribbon Роберт Мартин, Кен Пулс, Тереза ​​Хенниг

Авторы и MS предлагают трюк для решения этой проблемы:

Когда ваша надстройка загружается, она запрашивает приложение, чтобы узнать, в какой версии оно запущено.

Если Office 2003, он создает обычный пользовательский интерфейс CommandBars 'n Buttons.

В Office 2007 или более поздней версии он ищет другую надстройку и загружает ее по запросу. Эта вторая надстройка содержит только код RibbonX для создания пользовательского интерфейса ленты, а также обработчики событий нажатия кнопки. Обработчик просто обращается к основной надстройке.

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

person Steve Rindsberg    schedule 15.06.2011