.NET-плагины для MS Office 2007

English version
Версия для Office 2003

Поддержка плагинов, созданных с использованием средств Microsoft .NET Framework, для программ (Word, Excel, Outlook) из пакета Microsoft Office System 2007.

АРХИТЕКТУРА

Разделяемый  COM-Addin "Office2007.Plugins" является диспетчером .NET-плагинов.
После запуска программы-хоста диспетчер загружает из сборок в папке bin\Plugins классы, являющиеся наследниками базового класса DkmS.Office2007.PluginsFW.OfficePlugin.
Плагины загружаются только в программы, указанные атрибутом LoadIn, для запуска плагинов используются пункты выпадающего меню, доступного после нажатия на кнопку Plugins, которая добавляется  диспетчером к основной инструментальной панели хоста при загрузке. Возможно добавление меню запуска плагинов к основному меню программы и к дополнительной инструментальной панели. Возможно также добавление пункта запуска конкретного плагина к контекстному меню Outlook 2007.

УСТАНОВКА:

Плагины в поставке

  1. Hello, Any Programs - программах Word, Excel и Outlook выводит сообщение с именем хоста. Для вывода по возможности используется компонент Assistant.
  2. Hello, Outlook - при запуске в Эксплорере выводит имя хоста, в Инспекторе - заголовок окна Инспектора..
  3. Forward eMails - пересылка почтовых сообщений по указанным адресам без добавления служебной информации в текст сообщения.

Написаны на языках C# и VB.NET.

Программирование плагинов

В качестве примера папка src\HelloWorld содержит исходные тексты плагинов Hello, Any Programs и Hello, Outlook на языке C# (проект для Visual Studio 2005).  

Для программирования собственного плагина создайте проект, в котором опишите класс, производный от OfficePlugin или специализированных классов wordPlugin, outlookPlugin, excelPlugin, реализующий необходимые Вам алгоритмы.

Подключите к проекту сборку Office2007.Plugins.dll.

Алгоритм опишите в теле метода public override void DoAction (Public Overrides Sub DoAction для VB.NET).
При необходимости переопределите метод public override void InitializePlugin (object App, CommandBarControl Menu, Intl intl) для создания собственных элементов управления, локализации и т.д.

При помощи атрибутов LoadIn опишите имена хостов для плагина, атрибутом PlugName задайте надпись на кнопке запуска плагина. (При наследовании от специализированных классов атрибут LoadIn не требуется).

Для использования подсистемы сохранения конфигурации плагинов в свой плагин добавьте свойство, имеющее тип, производный от класса DkmS.Office2007.PluginsFW.Config. При использовании специализированных плагинов дополнительно можно определить public override void методы RestoreConfig() и SaveConfig(), которые вызываются при загрузке и выгрузке плагина соответственно.

При использовании в качестве прототипа класса wordPlugin имеется возможность через атрибут ShortKeyAttribute(string) задать горячую клавишу для запуска плагина (string имеет синтаксис, используемый в методе SendKeys из Windows Scripting Host).

Для плагина с прототипом OutlookPlugin  имеется возможность реализовать добавление пункта вызова плагина к контекстному меню вызовом метода

AddToContextMenu(new OlObjectClass[] { OlObjectClass.olNote, OlObjectClass.olTask }); (здесь контекстное меню модифицируется для заметок и задач).

Скомпилируйте Ваш плагин, результат компиляции поместите в папку(или подпапку) bin\Plugins, перезагрузите плагины через пункт Plugins Configure Plugins for....

Замечание.
В ту же папку поместите сборки (библиотеки), используемые Вашим плагином.
 

Локализация

Система Office2007.PluginsFW допускает возможность перевода интерфейса системы (элементы запуска, средства настройки) и плагинов.

Данные для локализации системы находятся в файле office2007.plugins.mui, пример локализации плагина - в Hello, Any Programs.mui. Файлы xml в кодировке UTF-8 могут быть отредактированы подходящим текстовым редактором.

 

 % Загрузка архива с программой: site-1 site2 site3

  Главная