Как разработать надстройку Microsoft Office без Visual Studio

Я пытаюсь разработать надстройку MS Office на C # .Net, и у меня нет доступа к Visual Studio. Вместо этого я использую SharpDevelop в качестве своей IDE (но мой вопрос одинаково актуален для всех, кто разрабатывает с помощью любой другой IDE или компилирует из командной строки ...)

Я немного искал руководства по разработке надстроек, но все они, похоже, требуют Visual Studio и выполните следующие действия:

  1. Установите сборки взаимодействия
  2. Создайте проект Visual Studio .Net (Я не могу сделать этот бит)
  3. Расширьте шаблон VS ThisAddIn

Что мне удалось сделать, так это:

  1. Установите сборки взаимодействия
  2. Создайте пустой проект SharpDevelop на C #
  3. Добавьте ссылку GAC на Microsoft.Office.Interop.Outlook
  4. Добавьте ссылку на COM в библиотеку объектов Microsoft Office 12.0
  5. добавить строку using Outlook = Microsoft.Office.Interop.Outlook;
  6. и строка using Office = Microsoft.Office.Core;
  7. Посмотрите на пример кода и поймите, что все они относятся к шаблонам VS и библиотекам VSTO (Microsoft.Office.Tools), которых у меня нет.

Куда мне идти дальше? Есть ли руководство / учебник, который я пропустил, или кто-нибудь может дать несколько советов?


person Iain Sproat    schedule 07.12.2011    source источник
comment
Это похоже на попытку съесть суп вилкой, в любом случае вы должны быть на правильном пути ... вы можете попробовать MonoDevelop, он должен быть чем-то похож на VS, но у меня мало опыта с этим   -  person Alex    schedule 07.12.2011
comment
Что мне действительно нужно, так это независимый от IDE способ создания надстройки Microsoft Office с использованием C #. Так что выбор IDE не должен быть фактором.   -  person Iain Sproat    schedule 07.12.2011
comment
@sprocketonline - Вы ведь понимаете, что в проектах Visual Studio нет ничего особенного?   -  person Security Hound    schedule 07.12.2011
comment
@Ramhound Да, но как мне получить библиотеки Microsoft.Office.Tools и где я могу найти пример кода, который не полагается на частичный класс ThisAddIn, созданный шаблоном Visual Studio?   -  person Iain Sproat    schedule 07.12.2011
comment
Если есть способ установить Microsoft.Office.Tools и где-то я могу скопировать сгенерированный шаблон код, не имея Visual Studio (и не нарушая никаких лицензий), это может быть решением ....   -  person Iain Sproat    schedule 07.12.2011


Ответы (2)


NetOffice (http://netoffice.codeplex.com или https://osdn.net/projects/netoffice/) - отличный набор независимых от версии сборок взаимодействия для Office. Это все, что вам нужно для создания надстроек с помощью SharpDevelop, и в проекте также есть множество руководств и примеров, в том числе для Outlook.

Если вы создаете надстройку для Excel с помощью Excel-DNA (который вам необходимо предоставить функции рабочего листа из .NET), NetOffice по-прежнему предоставляет дополнительный набор библиотек для доступа к интерфейсам автоматизации Excel COM из надстройки Excel-DNA, поэтому они хорошо работают вместе.

И для NetOffice, и для Excel-DNA вы также сможете использовать бесплатные выпуски Visual Studio Express (с некоторыми небольшими приемами, необходимыми для работы отладки). Visual Studio Express вообще не включает VSTO. SharpDevelop также имеет гораздо больше функций, чем редакции Express, например, встроенный рефакторинг и инструменты перевода VB.NET ‹-> C #, поэтому есть веские причины предпочесть SharpDevelop в качестве бесплатной IDE.

person Govert    schedule 08.12.2011
comment
NetOffice выглядит фантастически. Жаль, что я не видел этого до того, как начал работать с Visual STudio, но еще не поздно переключиться на Sharp Develop: D - person giorgio79; 29.12.2011
comment
NetOffice - это просто набор библиотек .NET, которые вы используете вместо специальных библиотек VSTO или сборок взаимодействия Office. Вы можете отлично использовать его с Visual Studio или SharpDevelop. - person Govert; 29.12.2011

РЕДАКТИРОВАТЬ: я пропустил ссылку на Outlook, мои извинения.

Для Outlook см. здесь. Outlook Redemption полезен.

Я не эксперт по Word, но в Интернете есть множество руководств.

Для Excel я бы посоветовал вам взглянуть на ExcelDNA

Множество ТАК вопросов по этой теме. См. Представление методов .net как функций Excel?, например, в качестве дополнительных советов о том, где для начала и каковы ваши варианты.

person dash    schedule 07.12.2011
comment
Есть ли что-нибудь похожее для Outlook или Word? - person Iain Sproat; 07.12.2011
comment
@sprocketonline - просто используйте тот же основной принцип. - person Security Hound; 07.12.2011