2015-01-13 2 views
1

Я хочу разработать дополнения для Office (Outlook, Word и Excel). Код будет почти таким же. Разница заключается только в получении документа (почта для Outlook, документ для Word, графика/диаграмма для Excel.Как создать аддон для нескольких программ Office?

Должен ли я разработать 3 дополнения, и поэтому у меня будет 3 установки для моих пользователей. Или я могу разработать только 1 дополнение и добавить условие где-нибудь?

+1

Вы можете ограничить себя одним AddIn. Мы написали AddIn, который охватывает Word, Excel, Visio, Outlook, ... и до сих пор у нас не было никаких проблем. Хотя выбор по-прежнему зависит от вас. – User999999

+0

@ User999999 Как вы это делаете? Какой тип проекта вы выбрали? – mosflex

+0

Просто стандартная библиотека 'class library'. – User999999

ответ

0

Да, это возможно. Возможно, вам понадобятся 3 разных класса AddIn, поскольку каждая платформа имеет свой собственный формат и параметры, и вам может потребоваться отклонение некоторой логики, хотя вам нечего прекратить интегрировать три надстройки в одном.

Другой вариант - создать библиотеку классов, которая использует только общую сборку Office, и включить эту библиотеку в вашу r проектов.

Для развертывания: вы не можете использовать ClickOnce из коробки для этого, так как ClickOnce поддерживает только одну программу Office для каждой установки. Вы можете настроить установку, как описано в этой статье в MSDN: Deploying Multiple Office 2010 Projects in One Package.

+0

Какой тип проекта я должен выбрать для своего глобального решения? – mosflex

+0

Я бы начал с любого шаблона продуктов Office в Visual Studio. Не имеет значения, я верю. –

+0

@mosflex: Вам нужна дополнительная помощь? –

0

VSTO не поддерживает создание многоуровневых надстроек. Возможными путями являются:

  1. Разработка надстройки, которая реализует интерфейс IDTExtensibility2 без VSTO.
  2. Используйте сторонние инструменты, такие как Add-in Express, которые поддерживают создание надстроек с несколькими хостами.

Добавление нескольких AddIn классов к extisting VSTO на основе надстроек не удобный путь. По крайней мере, вы не сможете отладить код

+0

Он делает, но развертывания нет. У меня есть работа с использованием библиотеки классов, содержащей базовый класс addin и ленту, например. –

+0

Это недокументированная функция, которую можно отключить в любое время. VSTO не поддерживает поддержку создания надстроек с несколькими хостами. –

+0

Вы шутите? Не могли бы вы предоставить мне ссылку, в которой описаны несколько надстроек в одном проекте? –

Смежные вопросы