Microsoft Office System 2003: некоторые новшества для разработчиков

Наталия Елманова

Оглавление

В предыдущем номере нашего журнала мы начали обсуждение возможностей, реализованных в новой версии Microsoft Office System 2003, выпуск которой ожидается в ближайшее время. Мы убедились в том, что новая версия Microsoft Office System 2003 представляет собой в первую очередь многофункциональный инструмент для эффективной коллективной работы, позволяющий сотрудникам компаний осуществлять доступ к разнообразной информации, оптимизировать совместную деятельность, защищая при этом конфиденциальные данные и интеллектуальную собственность.

Указанные возможности делают Microsoft Office System 2003 весьма привлекательным инструментом для решения многих задач, стоящих перед корпоративными пользователями, и дают руководителям IT-подразделений серьезный повод задуматься о возможностях применения именно этого продукта в качестве основы специализированных корпоративных решений. Для многих задач современного бизнеса стоимость создания решений на подобной основе может оказаться гораздо ниже, нежели разработка бизнес-приложений с нуля на основе только инфраструктурного программного обеспечения (серверов баз данных, серверов приложений и т.д.) - каким бы уникальным ни было предприятие, многие задачи, с которыми сталкиваются работающие на нем пользователи, вполне типичны и, как правило, легко решаются с помощью средств Microsoft Office System 2003 или приложений, созданных на его основе.

Ниже мы обсудим, что нового следует ожидать разработчикам решений на базе Microsoft Office System 2003.

Поддержка XML

Как нам уже известно, одной из особенностей Office System 2003, позволяющей осуществлять решение задач, связанных с поддержкой бизнес-процессов и доступностью информации, является расширенная поддержка XML в Word 2003 и в Excel 2003, что позволяет их пользователям задействовать собственные XML-схемы и отображать их элементы в документах, передавать XML-данные Web-сервисам, применять к ним XSLT-преобразования, применять XSD-схемы и осуществлять проверку данных на соответствие XSD-схеме в процессе их ввода.

Скажем, одной из особенностей поддержки XML в Word 2003 является возможность включения XML-данных (например, постоянно обновляемых из внешнего источника) в существующий документ, для чего применяются поля этого документа (в частности, поле INCLUDETEXT, содержащее ссылку на источник XML-данных).

Естественно, все эти особенности отражены в объектных моделях этих приложений  - к примеру в объектной модели Microsoft Word теперь присутствуют такие объекты, как XMLChildNodeSuggestion, XMLNamespace, XMLNode, XMLSchemaReference, XSLTransform, и такие коллекции, как XMLChildNodeSuggestions, XMLNamespaces, XMLNodes, XMLSchemaReferences, XSLTransforms, предназначенные для доступа к пространствам имен XML, корневым и дочерним ветвям документов, XML-схемам, XSLT-преобразованиям файлов из XML-документов Word 2003, а метод Add уже знакомой разработчикам коллекции Fields теперь позволяет добавлять ссылки на источники XML-данных.

Для программной реализации новых возможностей Excel, связанных с поддержкой XML (таких как отображение пользовательских XML-документов, добавление пользовательских XML-схем, сопоставление данных Excel со структурами данных XML и т.д.), можно применять объекты XmlDataBinding, XmlMap, XmlNamespace, XmlSchema, XPath и коллекции XmlMaps, XmlNamespaces, XmlSchemas.

В начало  В начало 

Cмарт-документы с точки зрения разработчика

Мы уже знаем, что помимо собственно поддержки XML Office System 2003 реализует концепцию так называемых смарт-документов. Смарт-документы обеспечивают возможность отображения задач и относящихся к документу или электронной таблице сведений в программируемой области задач на основе XML-элементов документа, при этом содержимое программируемой области задач зависит от того, какая именно часть документа редактируется пользователем. Это позволяет разработчикам решений самостоятельно определять, что именно будет отображаться в программируемой области задач при редактировании того или иного объекта, и снабжать пользователя необходимым ему инструментарием и данными, начиная от контекстно-зависимой интерактивной справочной системы и заканчивая доступом к внешним данным или иной функциональности (рис. 1).

С точки зрения разработчика, шаблон подобного документа следует создавать либо генерируя XML-файл, соответствующий XML-схеме смарт-документа, либо применяя интерфейс ISmartDocument для создания кода, отображающего список возможных действий пользователя и обработки событий, связанных с выбором пользователем одного из них. Рассмотрим процесс создания смарт-документа: XML-схема присоединяется к документу Word 2003 или Excel 2003, в ней отмечаются части документа, при редактировании которых происходят события, влияющие на поведение программируемой области задач, и этот документ сохраняется как шаблон (чтобы впоследствии пользователи могли самостоятельно создавать подобные документы). Затем для описания поведения программируемой области задач и ее реакции на события, связанные с редактированием документа, создается XML-файл, соответствующий схеме документа либо, в более сложных случаях, COM-сервер, реализующий интерфейс ISmartDocument. И наконец, создается специальное описание-манифест со ссылками на файлы, используемые смарт-документом, и помещается в соответствии со ссылками, указанными в свойствах смарт-документа.

Разработчики, имевшие дело с созданием собственных смарт-тэгов в Office XP, могут найти некоторое сходство в реализации подобных документов и смарт-тэгов  - при реализации смарт-тэга либо создается XML-документ, описывающий поведение при выборе пользователем одной из опций, предлагаемой смарт-тэгом, либо, в более сложном случае, создаются COM-серверы, реализующие интерфейсы ISmartTagRecognizer и ISmartTagAction и содержащие код распознавателя смарт-тэга и его обработчика.

Отметим, что смарт-документами можно управлять с помощью встроенных в приложения Office 2003 средств защиты данных, манифест может быть подписан цифровой подписью или защищен иным способом. Кроме того, смарт-документы могут загружаться или обновляться из внешних источников, например с корпоративного файлового сервера. Естественно, расширенные средства безопасности Microsoft Office System 2003 также нашли свое отражение в объектных моделях соответствующих приложений.

В начало  В начало 

Нововведения в технологии смарт-тэгов

Одним из новшеств предыдущей версии данного продукта, Microsoft Office XP, была технология смарт-тэгов, позволяющая реализовать в документах Microsoft Word и Microsoft Excel выполнение контекстно-зависимых действий. В новой версии Microsoft Office данная технология была улучшена по ряду позиций.

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

Кроме того, теперь возможно создание смарт-тэгов, обработчики которых выполняются автоматически, не ожидая, когда пользователь выберет пункт связанного со смарт-тэгом меню, "скрытых" смарт-тэгов, смарт-тэгов, имена которых зависят от содержащегося в смарт-тэге текста, а также от обработчиков, связанных не только с фрагментами строк, но и с XML-элементами. Меню, связанные со смарт-тэгами, теперь могут содержать вложенные подменю. К тому же распознаватели и обработчики смарт-тэгов теперь можно заново загружать в адресное пространство приложения Microsoft Office без его перезапуска, что значительно облегчает их отладку, при этом смарт-тэги могут быть доступны не только пользователю, их установившему, но и остальным пользователям данного компьютера, что облегчает сопровождение основанных на смарт-тэгах решений.

Отметим, что смарт-тэги теперь доступны не только в Word, Excel и Outlook, но и в PowerPoint и Access (рис. 2).

Для доступа к смарт-тэгам, содержащимся в базах данных Access, можно использовать добавленные в объектную модель этого приложения объекты SmartTag, SmartTagAction, SmartTagProperty и новые коллекции SmartTags, SmartTagActions, SmartTagProperties.

В начало  В начало 

Поддержка списков

Оffice 2003 предоставляет пользователям разнообразные возможности работы со списками  - наборами записей или строковых значений произвольного назначения. В частности, подобные списки можно создавать (в том числе на основе имеющихся данных, например контактов или задач Outlook), импортировать, экспортировать с помощью различных приложений Microsoft Office 2003 и публиковать на интранет-серверах, управляемых SharePoint Team Services. В частности, поддержка работы со списками в Excel во многом упрощает такие операции, как печать, построение диаграмм или создание сводных таблиц (рис. 3).

Для работы со списками в приложениях в объектные модели приложений Office добавлены объекты ListColumn, ListDataObject, ListFormat, ListObject, ListRow и коллекции ListColumns, ListObjects, ListRows.

В начало  В начало 

Поддержка коллективной работы

Мы уже знаем, что службы Windows SharePoint предоставляют приложениям Office 2003 средства для работы над общими документами, ознакомления с ходом работы, поиска других сотрудников в сети и что при открытии документа, находящегося в узле SharePoint, в открывшем документ приложении Office 2003 появляется специальная область задач со сведениями об узле, с помощью которой можно привлечь в рабочую область новых участников, создавать, назначать и отмечать задачи как завершенные, загружать дополнительные документы, добавлять связанные с документом гиперссылки. Рабочие области для документов упрощают коллективную работу над документом и собирают для участников проекта в одном месте все сведения о совместной работе. Они интегрируются с приложениями Office 2003 через область задач, что обеспечивает легкий доступ пользователей ко всем указанным ресурсам.

Для программного доступа к рабочим областям из Excel 2003, PowerPoint 2003 и Word 2003 используются объекты SharedWorkspace, SharedWorkspaceFile, SharedWorkspaceFolder, SharedWorkspaceLink, SharedWorkspaceMember, SharedWorkspaceTask и коллекции SharedWorkspaceFiles, SharedWorkspaceFolders, SharedWorkspaceLinks, SharedWorkspaceMembers, SharedWorkspaceTasks. Объект Sync в Word 2003, Excel 2003 и PowerPoint 2003 применяется для загрузки, выгрузки, поддержки актуальности копий документов этих приложений на локальном компьютере и в коллективной рабочей области, дублируя интерфейс и функциональность панели задач Document Updates.

В начало  В начало 

Другие изменения в объектных моделях приложений Office

Из других новшеств в объектных моделях приложений Microsoft Office отметим:

• объект AutoCorrect в объектной модели Access 2003, предназначенный для обслуживания нового смарт-тэга Access AutoCorrect Options, позволяющего пользователям осуществлять автоматическое исправление грамматических ошибок и опечаток, аналогично тому, как это делается в Word 2002;

• объект DependencyInfo в объектной модели Access 2003, предоставляющий доступ списку зависимостей выбранного объекта Access от других объектов;

• объекты Break, Line, Page, Rectangle и коллекции Breaks, Lines, Pages, Rectangles в объектной модели Word 2003, предназначенные для осуществления форматирования документов Word 2003 из кода приложений;

• объект Editor и коллекцию Editors в объектной модели Word 2003, предназначенные для манипуляции разрешениями доступа к отдельным объектам Range или Selection или скрытия от пользователя панели Protect Document;

• объект Conflict и коллекцию Conflicts, предназначенные для доступа к сведениям о конфликтах между элементами данных Outlook 2003.

В начало  В начало 

Поддержка Web-сервисов XML

Поддержка Web-сервисов XML в Microsoft Office - явление не новое; в частности, для применения Web-сервисов в приложениях Office XP был создан набор инструментов Office XP Web Services Toolkit 2.0. Новая версия этого инструментария в Office 2003 реализована в виде модуля дополнения (add-on). Она позволяет обращаться к Web-сервисам XML из редактора Visual Basic, автоматически задействуя библиотеки типов Microsoft Office Soap 3.0 и Microsoft XML 5.0 с целью реализации поддержки в создаваемом VBA-проекте протокола SOAP и средств синтаксического разбора XML.

В начало  В начало 

О средствах разработки приложений

В Office 2003, как и в прежних версиях, можно создавать VBA-проекты - эта особенность осталась без изменений. Однако наряду с данной возможностью появилась еще одна. Разработчикам, применяющим Visual Studio .NET, будет интересно узнать, что теперь они могут создавать решения на основе Office с помощью привычного средства разработки и библиотеки классов Microsoft .NET Framework. Эта возможность появилась благодаря набору инструментов, носящему кодовое название Visual Studio .NET Tools for Office. Эти инструменты предоставляют разработчикам возможность встраивать в документы Word 2003 и Excel 2003 управляемый код на языках Visual Basic .NET и Visual C# .NET, созданный с помощью Microsoft Visual Studio .NET 2003 (рис. 4).

Создание решений с помощью Visual Studio .NET на основе Office было возможно и ранее - для этой цели были созданы специальные сборки Office XP Primary Interop Assemblies, которые позволяли управлять приложениями Office XP с помощью COM-интерфейсов Microsoft Office из внешних по отношению к ним .NET-приложений, являвшихся по существу .NET-аналогами хорошо известных разработчикам контроллеров автоматизации. Однако данная технология не позволяет в явном виде встраивать код в документ или в шаблон. В противоположность данному подходу Visual Studio .NET Tools for Office дает возможность создавать расширения Office, основанные на управляемом коде и выполняющиеся изнутри самих документов, при этом подобный код хранится в сборке, расположенной отдельно от документа, что позволяет при необходимости легко осуществлять ее обновление. Код, созданный с помощью Visual Studio .NET Tools for Office, обладает всеми преимуществами, предоставляемыми платформой Microsoft .NET, такими как поддерживаемые данной платформой средства обеспечения безопасности и возможность применения при разработке всех поддерживаемых данной платформой технологий, а при его создании можно пользоваться всеми инструментами, предоставляемыми Visual Studio .NET. Отметим, что для обращения к управляемому коду в Word 2003 и Excel 2003 встроен загрузчик Common Language Runtime.

Visual Studio .NET Tools for Office сосуществует одновременно с Visual Basic for Applications (VBA- и .NET-код могут содержаться в одном и том же документе), поэтому создатели решений на основе Office будут иметь возможность одновременно применять обе указанные технологии.

В начало  В начало 

InfoPath 2003

Говоря о создании решений на основе Microsoft Office System 2003, стоит обратить внимание на новый продукт, носящий название InfoPath и предназначенный для разработки форм для ввода данных на основе имеющихся источников данных, XML-схем, XML-документов, данных Web-сервисов или с нуля (в последнем случае форму можно сохранить в виде XML-схемы). Авторы форм могут создавать код на VBScript или на Microsoft JScript для обработки введенных пользователями данных в соответствии с задачами разрабатываемого решения, а также создавать и применять шаблоны форм. Для этой цели в состав InfoPath входит дизайнер форм (рис. 5).

По существу формы InfoPath 2003 представляют собой набор XML-файлов с данными, XML-схем, файлов XSL-преобразований и файлов с кодом на скриптовых языках, а также файла манифеста, описывающего компоненты, входящие в состав формы.

В начало  В начало 

Заключение

Прежде чем завершить обсуждение средств создания решений на основе Microsoft Office System 2003, мы попробуем дать несколько рекомендаций по их применению.

Для создания решений на основе Office System 2003 можно продолжать применять VBA и создавать макросы для доступа к объектам приложений Office, особенно в случае наличия унаследованного VBA-кода. Можно по-прежнему создавать модули расширения приложений Office, реализованные в виде COM-серверов, если они удовлетворяют требованиям, предъявляемым к решению, однако не стоит забывать и о такой возможности, как создание модулей расширения на основе управляемого кода с помощью Visual Studio .NET и .NET Framework, а также применения COM Interop для создания .NET-приложений, управляющих приложениями Office System 2003 извне.

Применение смарт-тэгов оправданно в том случае, когда есть необходимость инициирования контекстно-зависимых действий в документах Word, Excel, Outlook, PowerPoint, Access. Смарт-документы удобны в том случае, когда требуется решение, реализующее интерактивное взаимодействие с пользователем на основе данных о том, какую часть документа он редактирует; при этом данная технология, будучи во многих случаях альтернативой созданию модулей расширения, более удобна в плане и внедрения решения, и его безопасности.

Решения на базе Microsoft InfoPath 2003 удобно создавать в том случае, когда основная задача решения заключается в заполнении пользователями форм и интеграции полученных XML-данных в бизнес-процессы компании. И наконец, Visual Studio Tools for Office является наиболее удобным средством создания кода, вызываемого из документов Word и Excel, а также альтернативой VBA, обладающей по сравнению с ним намного большими возможностями, предоставляемыми платформой Microsoft .NET.

Иными словами, разработчики решений на базе Office System 2003 будут иметь весьма широкий выбор возможностей.

Дополнительная информация


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=1325