Открыть список
Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

VSTO и CAB: Интеграция .NET приложения в Microsoft Word

.NET
VSTO расшифровывается как Visual Studio Tools for Office. Эти средства позволяют довольно легко скрещивать ужа с ежом — писать .NET приложения, исполняемые CLR в среде Microsoft Office. В частности, программисты обладают возможностью создавать подключаемые модули (плагины) и «кастомизированные» шаблоны для документов почти ко всему основному семейству продуктов Microsoft Office.

В статье приведена инфраструктура Windows Forms проекта, в котором Microsoft Word воспринимается приложением в качестве шелла. В статье раскрыты несколько интересных моментов использования Composite UI Application Block, в частности подключение инфраструктуры доменной модели Word в сервисам расширения каркаса, а так же приведены некоторые факты и особенности разработки с использованием средств VSTO.
В общем, кому интересно - милости прошу
Всего голосов 38: ↑30 и ↓8 +22
Просмотры10.6K
Комментарии 13

.NET в unmanaged окружении – использование и родовые проблемы

.NET
Managed код и .NET Framework – совершенно замечательная вещь с точки зрения программиста, которому надо кровь из носу выдавать максимально стабильно работающие программы. Использование .NET позволяет очень сильно сократить затраты на разработку, тестирование и сопровождение программных продуктов, особенно по сравнению с C++ или Delphi.

Однако, managed код имеет одну очень серьезную родовую травму, которая прямо проистекает из его достоинств – он изначально несовместим с unmanaged средой, в которой вынужден работать. Boxing, поля памяти, отсутствие прямой адресации и прочие ухищрения, призванные облегчить жизнь программисту, приводят к тому, что взаимодействие managed и unmanaged кода становится проблемой.

Однако нет такой проблемы, которую нельзя решить (пусть даже с помощью топора и лома). Сегодня у нас краткий обзор возможностей организации взаимодействия между managed и unmanaged кодом. Многие C# и особенно VB.NET программисты боятся этого, но на самом деле в этом нет ничего страшного. Начнем мы с самых примитивных методов, которые будут интересны разве что новичкам (поэтому матерые волки .NET могут с чистой совестью первую часть статьи пропустить), и закончим описанием того, что делать, если хочется написать программу на .NET, но сделать это невозможно (а такое тоже бывает). Естественно, к каждому случаю будут приведены конкретные примеры, быть может, хабрачеловеки расскажут мне о моей собственной велосипедности. Параллельно я скажу пару слов о подводных камнях при работе с VSTO и Windows Shell.
Читать дальше →
Всего голосов 41: ↑35 и ↓6 +29
Просмотры5.9K
Комментарии 32

Опыт использования VSTO для PowerPoint 2007

.NET
Я делаю много презентаций, и часто нужно показать код «по частям», то есть показать ход мысли в процессе последовательного написния кода. К сожалению, PowerPoint не настроен для таких целей. Поэтому я решил написать расширение для PowerPoint 2007 которое автогенерировало бы последовательность слайдов с «прогрессивной разверткой» кода и комментариев. Собственно об этом и будет рассказ.
Читать дальше →
Всего голосов 11: ↑8 и ↓3 +5
Просмотры1.3K
Комментарии 0

Руководство по созданию Excel add-in для начинающих

.NET
Из песочницы
Здравствуй, %username%!

Недавно мне пришлось по долгу службы писать небольшой Excel add-in. К слову, до этого мой опыт работы с MS Office из-под .NET сводился к простеньким утилитам, генерировавшим отчеты в Excel при помощи Office Primary Interop Assemblies. А уж когда контора купила лицензии на Aspose.NET, взаимодействие с офисом через COM было забыто аки страшный сон. Так вот, начав разбираться в теме, я был неприятно удивлен отсутствием вменяемых русскоязычных туториалов для начинающих. Теперь хочу заполнить этот пробел. В качестве примера мы создадим add-in, который по нажатию кнопки генерирует на текущем листе список дней текущего месяца и выделяет выходные дни. Заинтересовавшихся прошу под кат!
Читать дальше →
Всего голосов 31: ↑29 и ↓2 +27
Просмотры44K
Комментарии 11

Office Add-Ins для Excel — новые возможности для разработчиков на VBA и VSTO

Блог компании MicrosoftРазработка веб-сайтовРазработка мобильных приложенийРазработка для Office 365Visual Basic for Applications

Предыстория


Все началось около четырех лет назад. Работая над очередным проектом по автоматизации бизнес-процессов для крупной российской сети розничной торговли, я заинтересовался разработкой надстроек для офисных приложений, в частности, для Excel. Стоило мне несколько дней понаблюдать, как сотрудники компании-заказчика тратят уйму времени на рутинные повторяющиеся операции, как у меня появилось множество идей о том, как бы я мог упростить им жизнь.

В то время, у нас, как у разработчиков, было два способа «расширить» Excel под нетиповые задачи:
  • VBA (Visual Basic for Applications);
  • VSTO (Visual Studio Tools for Office).


Читать дальше →
Всего голосов 19: ↑18 и ↓1 +17
Просмотры28.6K
Комментарии 0

Outlook Add-Ins или куда уходит 25% рабочего времени и можно ли его вернуть?

Блог компании MicrosoftРазработка для Office 365

Проблематика


Знаете ли вы, что, исходя из результатов некоторых зарубежных исследований, средний офисный работник тратит более двух часов своего рабочего времени в день на работу с электронной почтой? Если быть более точным – 13 часов в неделю, что составляет почти 85 рабочих дней в год! Только вдумайтесь в эти цифры. Сколько всего можно сделать за это время? А сколько это будет стоить вашей организации, если перевести часы в деньги? Очень интересные вопросы, над которыми стоит задуматься…



Слайд взят из презентации на Slideshare.
Читать дальше →
Всего голосов 17: ↑13 и ↓4 +9
Просмотры15.7K
Комментарии 1

Molecula – новый способ ведения групповых переписок в Outlook

Блог компании MicrosoftРазработка веб-сайтовРазработка мобильных приложенийРазработка для Office 365
В конце 2015-го года Microsoft запустила конкурс по разработке решений на базе Office 365. Участникам нужно было разработать приложение, которое являлось бы либо надстройкой для Office, либо использовало бы Office 365 APIs. Я и двое моих друзей решили участвовать. Идея нашлась очень быстро, достаточно было сесть и обсудить «боли», возникающие у каждого из нас в повседневной работе. Так родилась идея Molecula – решения, позволяющего упростить ведение групповых переписок в Outlook.

Чтобы лучше понять кому и для чего нужна Molecula, давайте посмотрим наш промо-ролик, созданный для участия в конкурсе. История про успешного IT-менеджера Майка (на английском):


Читать дальше
Всего голосов 15: ↑13 и ↓2 +11
Просмотры6.6K
Комментарии 15

Продуктивность в разработке Office Add-ins

Блог компании MicrosoftРазработка веб-сайтовРазработка мобильных приложенийРазработка для Office 365
В разговорах об Office Add-ins (надстройки Office) часто упоминается «продуктивность». Это логично, ведь главная цель разработчиков – повышение продуктивности в работе конечных пользователей. Но продуктивность важна и для самих разработчиков. Эта статья о продуктивности в разработке. Речь пойдёт о новом JavaScript API для Office и о том, какие инструменты мы применяем для создания новых решений.


Читать дальше
Всего голосов 8: ↑8 и ↓0 +8
Просмотры4K
Комментарии 0

От документа к проекту: как Wrike создавал дополнение для Office 365

Блог компании MicrosoftРазработка веб-сайтовРазработка мобильных приложенийРазработка для Office 365
Продуктивность уверенно входит в топ трендов последних лет и является еще более востребованным в 2016ом, причем включая в себя такие направления как Collaborative Software, Smart Virtual Personal Assistants,Bots и многие другие…
В данной статье мы расскажем о том, как компания Wrike расширила свое решение и реализовала Add-In для Office, а так же поделимся опытом его разработки.
Хочу поблагодарить за подготовку статьи Аркадия Рушкевича (Ведущий менеджер продукта) и Владимира Дупелева (Руководитель группы разработки ПО)

Недавно сервис для управления проектами Wrike анонсировал сразу несколько интеграций с продуктами Microsoft. Теперь можно авторизоваться в сервисе с корпоративным логином Azure Active Directory, добавлять в задачи файлы из OneDrive для бизнеса и установить дополнение Wrike в Office 365.

Последнее — пожалуй, самое важное с точки зрения продуктивности на рабочем месте. Мы решили рассказать о том, зачем системе управления проектами понадобилась интеграция с офисными приложениями, и поделиться опытом разработки надстройки для Office.


Читать дальше
Всего голосов 20: ↑17 и ↓3 +14
Просмотры4.2K
Комментарии 1

Как сделать презентацию интерактивной

Блог компании MicrosoftРазработка веб-сайтовРазработка мобильных приложенийРазработка для Office 365

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


Читать дальше →
Всего голосов 36: ↑31 и ↓5 +26
Просмотры22.3K
Комментарии 9

Excel VBA — создаем свою панель инструментов

Visual Basic for Applications
Tutorial
Если перед вам стоит задача по автоматизации чего-нибудь в excel, то забудьте про макросы, расположенные непосредственно в книге, создавайте панель инструментов (ribbon), которая

  1. не зависит от конкретного файла
  2. располагается в основной панели инструментов
  3. дает кастомизируемый UI
Читать дальше →
Всего голосов 6: ↑5 и ↓1 +4
Просмотры6.6K
Комментарии 3

Метод Application.Run – простой способ подружить Office-ribbon и обычные VBA-макросы (на примере C# и Excel)

Visual StudioC#Visual Basic for Applications
В статье рассматривается использование Visual Studio для решения узкой задачи – собственно вызов VBA-макросов, расположенных в надстройках или документах, с помощью кнопок, которые разработчик может разместить в необходимых дополнительных (отдельно созданных) группах элементов вкладки НАДСТРОЙКИ ленты Excel или отдельных вкладках, и, при желании, использовать все современные возможности для работы с этими элементами.

Для читателей, в целом знакомых с тем, как в Visual Studio (конкретно – механизмы Visual Studio Tools for Office (VSTO)) реализована работа с объектами офисных приложений (объектные модели, само собой, ничем не отличаются от доступных средствами VBA), целесообразно сократить время чтения – основную мысль статьи можно выразить одной строкой C#-кода:

Globals.ThisAddIn.Application.Run("Файл_с_макросами.xlsm!МакросОдин");

которая аналогична хорошо известному VBA-вызову Application.Run(“ИмяМакроса”) – в том числе и в варианте вызова как функции:

MyValue = Globals.ThisAddIn.Application.Run("Файл_с_макросами.xlsm!МакросОдин");

Ну и вариантах с передачей одного или нескольких параметров разных типов:

Globals.ThisAddIn.Application.Run("Файл_с_макросами.xlsm!МакросОдин", "Параметр1", 2);

VBA-разработчиков, для которых актуальна данная проблема, – приглашаю продолжить чтение. Пошаговое выполнение демо-примера займет примерно 10-20 минут (без учета затрат времени на загрузку, установку и стартовую настройку Visual Studio Community Edition).
Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Просмотры2.4K
Комментарии 0