Разработка офисных бизнес-приложений
Microsoft Office— это популярный и очень хорошо продающийся пакет приложений для человека, работающего с информацией. Мы все знакомы с обработкой текста, электронными таблицами, электронной почтой, формами и прочими функциональными возможностями, предоставляемыми приложениями Microsoft Word, Microsoft Excel, Microsoft Outlook и Microsoft InfoPath. Но эти приложения способны на большее: они сами по себе являются платформой разработки — платформой, которую можно расширять и настраивать для создания бизнес-приложений, использующих самые лучшие функциональные возможности, предлагаемые каждым приложением.
Например, приложение для заказов на покупку может использовать знакомство конечного пользователя с Microsoft Word и вводить данные при помощи формы Word, а отчеты и диа-f граммы можно генерировать…
В табл. 21.1 дана сводка различных функциональных возможностей, которые можно модифицировать и расширять в приложениях Office. Мы обсудим в следующем разделе каждую из них.
Некоторые из этих функциональных возможностей являются возможностями уровня документов, а другие— возможностями уровня приложений. Разница между ними в основном в области видимости. Модификации уровня документа прикреплены к конкретному документу и живут внутри него, будь то файл doc/docx программы Word или таблица Excel. В отличие от них, функциональные возможности уровня приложения являются более глобальными и реализованы как надстройки для приложений Office (точно так же, как создаются и реализуются надстройки для Visual Studio — см. главу 13).
Совсем…
Панели задач в Office используются для предоставления команд и функциональных возможностей (которые являются центральными для выполняемой задачи) без отвлечения пользователя от текущего загруженного документа. На рис. 21.1 показан снимок экрана панели задач Microsoft Word 2007 для автоматического создания писем. Эта панель задач может давать пользователю указания по последовательности действий и в то же время загруженный документ будет все время виден. Панели задач существуют на уровне приложения. А вот панель действий — это тип панели задач, который реализован на уровне документа.
Кэш данных— это способность VSTO хранить данные локально в документе. Этот кэш иногда называется также "островом данных". Поскольку VSTO может читать и писать в кэш данных, то он является полезным инструментом для хранения информации, необходимой вашей надстройке для Office, либо для создания "теневых копий" тех данных, которые находятся в базе данных, но нужны в некоторых ситуациях отсутствия подключения.
Лента— это новый элемент пользовательского интерфейса, который появился в Microsoft Office 2007. Он представляет собой новый способ предоставления пользователям функциональных возможностей (без использования традиционных панелей инструментов и меню). Команды на ленте сгруппированы по категориям задач и внутри каждой категории команды визуально сгруппированы с другими аналогичными командами.
Например, в Word у нас есть вкладка Review (Рецензирование), на которой собраны все команды рецензирования документов. Поскольку лента дает мгновенный доступ ко всем наиболее используемым командам, то она не имеет проблем строки меню (в которой элементы могут быть сгруппированы в несколько уровней системы меню).
Вкладки ленты и группировка команд на вкладке могут изменяться в…
Смарт-теги в Office работают аналогично смарт-тегам интегрированной среды Visual Studio (см. главу 8). Word способен распознать различные типы контента при его вводе в документ (такие как имена, даты, финансовые символы и телефонные номера). Когда такой элемент распознан, он помечается пунктирным фиолетовым подчеркиванием. При нависании курсора над таким подчеркиванием будет показан значок смарт-тега, который может быть затем использован для доступа к каскадному меню различных опций взаимодействия с этими данными. Например, возможно, вы хотите добавить чей-то номер телефона в ваш список контактов. Это действие легко выполнить из меню смарт-тега для номера телефона (рис. 21.3).
При помощи VSTO вы можете создать собственные распознаватели…
Существует тип проекта (или целое семейство типов проектов) для каждого приложения Office. На рис. 21.4 мы видим различные имеющиеся типы проектов (для этого в диалоговом окне New Project нужно сначала раскрыть узел языка, а затем узел Office).
Обратите внимание, что у нас есть возможность разрабатывать под приложения как Microsoft Office 2003, так и Microsoft Office 2007. В основном и подход, и имеющиеся возможности одинаковы (разумеется, за исключением новых функциональных возможностей, появившихся в Office 2007 — не самой последней из которых является лента).
Для Word и Excel вы увидите по два типа проектов: шаблон надстройки и шаблон уровня документа (для Word…
Для того чтобы начать создание вашей надстройки для Office, создайте в Visual Studio новый проект (при помощи выбора любого типа проекта надстройки для Office). На рис. 21.5 показана базовая структура проекта, созданного как проект надстройки для Word. У нас есть единственный файл кода, который создает стартовую точку входа для надстройки и обеспечивает нас пространствами имен, которые нужны нам для доступа к объектной модели расширяемости приложения Word.
В смысле рабочей среды разработчика мы пока не видим ничего особенного. Но VSTO обеспечивает мощный набор визуальных конструкторов, которые вы можете использовать для создания вашего решения под Office. Для доступа к ним вам необходимо…
Для поддержки ленты в проект VSTO необходимо добавить элемент проекта Ribbon. Щелкните проект внутри Solution Explorer правой кнопкой мыши и выберите пункт Add New Item. В диалоговом окне Add New Item (рис. 21.6) вы увидите два различных шаблона: Ribbon (Visual Designer) и feibbon (XML). Первый шаблон предоставит вам поверхность визуального конструирования для модификации ленты в режиме WYSIWYG.
Поскольку эта поверхность конструирования не может быть использована для создания некоторых сложных возможностей ленты, то имеется еще и шаблон Ribbon (XML), который позволит вам писать функции ленты на XML.
Вам придется использовать шаблон Ribbon (XML) в том случае, если вы хотите сделать что-нибудь…
Для демонстрации мы создадим нашу собственную нестандартную группу внутри вкладки Add-Ins. Поскольку нам по умолчанию уже предоставлена одна группа, то мы можем переименовать ее в нечто более подходящее для нашей надстройки. Все элементы ленты модифицируются при помощи окна свойств (точно так же, как и во всех других типах проектов Visual Studio). Мы просто щелкаем по группе, а затем настраиваем ее метку.
Группы на поверхности конструирования ведут себя как контейнеры, что позволяет нам перетащить в группу кнопку. На рис. 21.9 показано начало создания нестандартной ленты для надстройки системы закупок. Мы добавили две кнопки, изменили их свойство ControlSize в значение RibbonControlSizeLarge, настроили…