Microsoft visual studio tools for applications что это

Обновлено: 07.07.2024

Несмотря на обилие различных дополнений к Microsoft Office от сторонних поставщиков, для корпоративных разработчиков популярный пакет офисных приложений долгое время оставался в некотором смысле «вещью в себе» – полноценно интегрировать его в собственные решения было не так-то просто. Однако корпорация не прекращает попытки превратить Microsoft Office в мощную программную платформу для серьезных решений и предлагает для этого все более совершенные инструменты.

Хотя Microsoft Office действительно стал де-факто стандартом среди инструментов для работы с документами, его успехи в сфере автоматизации бизнес-процессов (ввода и обработки информации) гораздо скромнее. Программисты предпочитают не связываться с ограничениями Visual Basic for Applications (VBA) и готовы пожертвовать привычным для пользователей интерфейсом и широкими возможностями пакета в угоду простоте построения и большей управляемости конечных решений, к тому же нередко политика безопасности подразумевает полное отключение средств VBA. Альтернативный подход с применением COM также не заслужил особого признания по причине своей сложности, слабой документированности интерфейсов и значительных проблем при отладке готовых продуктов. В лучшем случае приложения Microsoft Office кое-как взаимодействовали с корпоративными системами, но отнюдь не становились центральным звеном.

Долгий путь от VBA к VSTO

Выяснилось однако, что крайне сложно (если вообще реально) придумать инструмент, в равной мере устраивающий разные категории разработчиков – от обычных пользователей, автоматизирующих рутинные операции, до создателей распределенных корпоративных систем. Причем с учетом изначального позиционирования Microsoft Office в худшем положении оказались именно последние, и простым совершенствованием весьма отставшего от времени языка программирования VBA ситуацию было не изменить – требовалось какое-то кардинальное решение.

Создание панелей задач для Microsoft Office ничем не отличается от разработки интерфейса с помощью WinForms

Хотя первая версия VSTO вполне справилась со своей основной задачей, она все же не вызвала заметного ажиотажа. Во многом это можно объяснить относительной новизной (на то время) предложенной платформы и консерватизмом разработчиков. Кроме того, пакет нельзя назвать легким в использовании: он требовал достаточно серьезных усилий по освоению новой парадигмы программирования, прилагать которые были готовы далеко не все – в отличие от подкупающего своей простотой VBA, философия VSTO предусматривала гораздо более высокий уровень квалификации.

Таким образом, первую версию VSTO вполне можно считать «пробным шаром» Microsoft, получившим высокую оценку квалифицированных разработчиков, но не снискавшим популярности в широких кругах офисных программистов и поставщиков корпоративных решений.

VSTO 2005: проще, нагляднее, лучше

Одновременно с Visual Studio 2005 появилась вторая существенно обновленная редакция VSTO, получившая название VSTO 2005. В целом следует отметить, что основные усовершенствования были направлены на повышение наглядности процесса программирования, что сделало его проще и доступнее даже для начинающих программистов.

Существует два типа VSTO-решений – уровня документов и уровня приложений. Первые разрабатываются и распространяются вместе с документами или шаблонами – в VSTO 2005 они доступны для Word и Excel, вторые представляют собой расширения (add-ins) функциональности и могут быть созданы только для Outlook. В любом случае поддерживаются только Microsoft Office 2003 и последующие версии, но не предыдущие.

Решения для офисных приложений в VSTO 2005 создаются в полностью визуальном режиме – Word или Excel загружаются непосредственно в среду разработки Visual Studio

Удобство использования панели задач проявляется в том, что формирование интерфейса пользователя в таком случае не отличается от построения обычных WinForms-форм. Единственное, что при этом следует принимать во внимание – ограниченные размеры панели, которая отображается как часть окна родительского приложения и при этом занимает существенно меньшую площадь, чем рабочая область.

Также VSTO позволяет создавать смарт-теги, удобные в том случае, когда при работе над документами нужно выполнять какие-то контекстно зависимые действия.

Весьма важным нововведением VSTO 2005 является возможность генерирования и манипулирования содержимым офисных документов на сервере без необходимости предварительной установки пакета Microsoft Office (избегать чего настоятельно рекомендует сама Microsoft). Раньше для обеспечения максимальной безопасности разработчикам приходилось обращаться к сторонним компонентам либо промежуточным форматам. Появившаяся в Microsoft Office 2003 поддержка XML стала существенным шагом вперед, однако из-за отсутствия обратной совместимости и ряда других проблем она также не нашла широкого применения. Теперь же компоненты VSTO манипулируют документами, используя такой же базовый программный код, что и соответствующие офисные приложения.

Распространение приложений в VSTO 2005

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

Хотя на текущий момент нет доступной для тестирования версии VSTO для Office 12, с некоторыми ограничениями вполне можно применять и VSTO 2005

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

Вполне предсказуемо, что третья версия VSTO, ориентированная уже на Office 12, продолжит курс на упрощение создания приложений и всемерное использование возможностей популярного офисного пакета в бизнес-среде. К сожалению, на текущий момент Microsoft не распространяет тестовых версий VSTO 3, хотя ранний альфа-релиз был продемонстрирован еще на конференции PDC 2005 в сентябре прошлого года. Однако это вовсе не означает, что в настоящее время разработчики не могут создавать приложения для Office 12 – с этой задачей справляется и VSTO 2005, хотя и не позволяет использовать все нововведения. Необходимость обеспечения обратной совместимости была одним из главных ориентиров при разработке очередной версии Microsoft Office – такой подход защищает инвестиции и прибавляет уверенности программистам, избравшим данную технологию.

Тем не менее наиболее принципиальные моменты VSTO 3 известны уже сегодня.

Так, будет обеспечена возможность создания расширений (add-ins) для всех приложений офисного пакета (а не только Outlook, как это было в VSTO 2005). Панели задач станут поддерживаться на уровне не только отдельных документов, но и самого приложения, что, безусловно, позволит реализовать более универсальные решения. Полностью будут задействованы все специфические функции Office 12, среди которых особенно важны XML-формат и новый пользовательский интерфейс.

Прямой доступ к внутренней структуре документа посредством XML предоставляет разработчикам широчайшие возможности по генерированию и форматированию документов, а также извлечению из них необходимых данных. Таким образом открываются совершенно новые перспективы для построения систем автоматизированной обработки информации.

Использование смарт-тегов в VSTO позволяет создавать контекстно зависимые команды

Нельзя недооценивать и возможности адаптации Office 12. Ведь, к примеру, контекстно зависимые ленты (основа интерфейса нового пакета) способны в нужный момент акцентировать внимание пользователя только на актуальных инструментах, тем самым упрощая взаимодействие с серверными компонентами или корпоративными системами.

Вообще VSTO 3 будет поддерживать серверные технологии в той же мере, как и сам Office 12. Тем более что и SharePoint Services, и Groove изначально ориентированы на программное расширение функциональности за счет, скажем, новых workflow-моделей, поддерживаемых технологией WWF.

Задачи, решаемые с помощью VSTO

Используя VSTO, можно строить различные решения, начиная с дополнений для приложений Microsoft Office, спектр которых по мере роста популярности XML-форматов наверняка расширится. Но, пожалуй, самая логичная и привлекательная сфера его применения – корпоративная среда с большим количеством задач по вводу и обработке информации.

Как правило, сотрудники современных компаний применяют в своей практике целый ряд приложений, слабо интегрированных между собой. Очень часто в этом наборе пакет Microsoft Office играет весьма заметную роль, но его использование обычно ограничивается стандартными операциями по вводу первичной информации и подготовке отчетности. Учет специфики бизнес-процессов и взаимодействие с корпоративными системами реализуется главным образом либо заказным ПО, либо посредством Web-интерфейса, что в любом случае подразумевает дополнительные операции.

Теперь, благодаря VSTO, ничто не мешает разработчикам обеспечить интерфейс к корпоративным системам непосредственно в привычных офисных приложениях, что в конечном итоге позволит повысить производительность труда пользователей. Следует отметить, что такие решения сулят значительные преимущества перед популярными в настоящее время «тонкими» клиентами, основанными на применении браузеров, поскольку предлагают более удобный интерфейс и значительное число вспомогательных инструментов. В определенном смысле данный подход объединяет в себе достоинства как «тонких», так и «толстых» клиентов и прекрасно укладывается в современную концепцию «умных» клиентов (smart clients), продвигаемую Microsoft.

Таким образом, часто встречающиеся в корпоративной сфере задачи, вроде заполнения бланков, подготовки отчетности, приема и регистрации заказов, ведения информации о клиентах, отслеживания выполнения условий контрактов, требовавшие ранее совместного использования офисных приложений и специального корпоративного ПО, с применением VSTO могут быть решены гораздо элегантнее.

Заключение

Еще одно заметное преимущество – легкость интеграции сторонних разработок с продуктами самой Microsoft, что особенно хорошо заметно на примере Microsoft Office. На наш взгляд, именно VSTO (вместе с некоторыми новациями Office 12) позволит офисному пакету окончательно завоевать признание в корпоративном секторе, где очень важно уменьшить количество клиентских приложений и сократить время, затрачиваемое на обучение персонала.

Читайте также: