![]() | ||||||||||||||||||||||||||||||
![]() |
![]() |
|
|
|||||||||||||||||||||||||||
![]() |
|
Microsoft Office System 2003: некоторые новшества для разработчиковИсточник: КомпьютерПресс 10'2003 Наталия Елманова
Оглавление
В предыдущем номере нашего журнала мы начали обсуждение возможностей, реализованных в новой версии Microsoft Office System 2003, выпуск которой ожидается в ближайшее время. Мы убедились в том, что новая версия Microsoft Office System 2003 представляет собой в первую очередь многофункциональный инструмент для эффективной коллективной работы, позволяющий сотрудникам компаний осуществлять доступ к разнообразной информации, оптимизировать совместную деятельность, защищая при этом конфиденциальные данные и интеллектуальную собственность.
Ниже мы обсудим, что нового следует ожидать разработчикам решений на базе Microsoft Office System 2003. Поддержка XML
Скажем, одной из особенностей поддержки 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-файл, соответствующий XML-схеме смарт-документа, либо применяя интерфейс ISmartDocument для создания кода, отображающего список возможных действий пользователя и обработки событий, связанных с выбором пользователем одного из них. Рассмотрим процесс создания смарт-документа: XML-схема присоединяется к документу Word 2003 или Excel 2003, в ней отмечаются части документа, при редактировании которых происходят события, влияющие на поведение программируемой области задач, и этот документ сохраняется как шаблон (чтобы впоследствии пользователи могли самостоятельно создавать подобные документы). Затем для описания поведения программируемой области задач и ее реакции на события, связанные с редактированием документа, создается XML-файл, соответствующий схеме документа либо, в более сложных случаях, COM-сервер, реализующий интерфейс ISmartDocument. И наконец, создается специальное описание-манифест со ссылками на файлы, используемые смарт-документом, и помещается в соответствии со ссылками, указанными в свойствах смарт-документа. Разработчики, имевшие дело с созданием собственных смарт-тэгов в Office XP, могут найти некоторое сходство в реализации подобных документов и смарт-тэгов - при реализации смарт-тэга либо создается XML-документ, описывающий поведение при выборе пользователем одной из опций, предлагаемой смарт-тэгом, либо, в более сложном случае, создаются COM-серверы, реализующие интерфейсы ISmartTagRecognizer и ISmartTagAction и содержащие код распознавателя смарт-тэга и его обработчика. Отметим, что смарт-документами можно управлять с помощью встроенных в приложения Office 2003 средств защиты данных, манифест может быть подписан цифровой подписью или защищен иным способом. Кроме того, смарт-документы могут загружаться или обновляться из внешних источников, например с корпоративного файлового сервера. Естественно, расширенные средства безопасности Microsoft Office System 2003 также нашли свое отражение в объектных моделях соответствующих приложений.
Нововведения в технологии смарт-тэгов
В первую очередь следует отметить изменения в средстве выполнения смарт-тэгов, основанных на XML-описаниях. Теперь данное средство поддерживает применение регулярных выражений, установку свойств элементов или списков элементов, а также распознавание текста с помощью средств поддержки грамматических правил, что позволяет во многих случаях избежать написания кода распознавателей и обработчиков смарт-тэгов. Кроме того, теперь возможно создание смарт-тэгов, обработчики которых выполняются автоматически, не ожидая, когда пользователь выберет пункт связанного со смарт-тэгом меню, "скрытых" смарт-тэгов, смарт-тэгов, имена которых зависят от содержащегося в смарт-тэге текста, а также от обработчиков, связанных не только с фрагментами строк, но и с XML-элементами. Меню, связанные со смарт-тэгами, теперь могут содержать вложенные подменю. К тому же распознаватели и обработчики смарт-тэгов теперь можно заново загружать в адресное пространство приложения Microsoft Office без его перезапуска, что значительно облегчает их отладку, при этом смарт-тэги могут быть доступны не только пользователю, их установившему, но и остальным пользователям данного компьютера, что облегчает сопровождение основанных на смарт-тэгах решений. Отметим, что смарт-тэги теперь доступны не только в Word, Excel и Outlook, но и в PowerPoint и Access (рис. 2). Для доступа к смарт-тэгам, содержащимся в базах данных Access, можно использовать добавленные в объектную модель этого приложения объекты SmartTag, SmartTagAction, SmartTagProperty и новые коллекции SmartTags, SmartTagActions, SmartTagProperties.
Поддержка списков
Для работы со списками в приложениях в объектные модели приложений Office добавлены объекты ListColumn, ListDataObject, ListFormat, ListObject, ListRow и коллекции ListColumns, ListObjects, ListRows.
Поддержка коллективной работы
Для программного доступа к рабочим областям из 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
• объект 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
О средствах разработки приложений
Создание решений с помощью 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
По существу формы InfoPath 2003 представляют собой набор XML-файлов с данными, XML-схем, файлов XSL-преобразований и файлов с кодом на скриптовых языках, а также файла манифеста, описывающего компоненты, входящие в состав формы.
Заключение
Для создания решений на основе 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 будут иметь весьма широкий выбор возможностей. Дополнительная информация
|
|