В дополнение к редакции Premium, включающей все основные офисные приложения, редакция Developer содержит специализированные компоненты, которые можно разделить на три группы:

  • инструменты разработчика (Developer Tools);
  • приложения разработчика (Developer Applications);
  • электронная библиотека MSDN.

Основной инструмент программирования остался прежним — это язык Visual Basic for Applications (VBA). Однако в пакет Office 2000 Developer входит последняя версия этого языка программирования (6.0). И VBA, и среда разработчика используют улучшенную, более удобную объектную модель, а система оперативной помощи переведена в формат HTML Help.

Инструменты разработчика

В меню Add-Ins среды VBA можно обнаружить весьма полезные инструменты — от совсем маленьких до вполне ощутимых по размеру. Управлять ими можно, обратившись к менеджеру дополнений (Add-In Manager).

Рис. 1

В окне менеджера дополнений (рис. 1) можно указать разные режимы загрузки (или выгрузки) выбранного инструмента: немедленно (кнопка Load/ Unload) или автоматическая загрузка (Load on Startup) во время запуска офисных приложений.

Code Librarian

Рис. 2

VBA Code Librarian — великолепный инструмент, которого так не хватает в других средствах разработки. По сути дела, это база данных, хранящая фрагменты исходных текстов, модули и функции (рис. 2).

При необходимости достаточно перетащить выбранный фрагмент из окна Code Librarian в окно редактора исходных текстов VBA, а соответствующие строки на языке Visual Basic будут просто «вклеены».

Изначально вся информация в базе отображается в виде иерархического дерева, но поиск подходящего фрагмента можно производить и с помощью запроса по ключевым словам. Хранятся же исходные тексты в виде модулей с расширением .mdb, среди которых самый важный — codelib.mdb, загружающийся по умолчанию вместе с Code Librarian. Доступ разработчика к данным модуля весьма удобен, так как они разбиты на категории.

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

Code Librarian существует и в виде самостоятельной программы codelib. exe (в каталоге Program Files Microsoft Office ODETools V9), которая совместима со средой разработчика пакета Microsoft Visual Studio.

VBA Code Commenter

Рис. 3

Модуль VBA Code Commenter предназначен для создания заголовков процедур проектов, где программисты обычно указывают имя автора, дату создания, описывают историю проекта, параметры и прочие данные (рис. 3).

Стиль комментирования основывается на специальном шаблоне, который может изменяться пользователем.

VBA Error Handlers

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

On Error GoTo HandleErr
ExitHere:
    Exit Sub
?Error handling block added
by Error Handler Add-In. DO NOT EDIT this
 block of code.
?Automatic error handler
last updated at 07-07-1999 00:43:34
?ErrorHandler:$$D=07-07-1999
    ?ErrorHandler:$$T=00:43:34
HandleErr:
  Select Case Err.Number
   Case Else
    MsgBox ?Error? & Err.
Number &?:?& Err.Description,
 vbCritical,NewMacros.
PasteUnformatted» 
?ErrorHandler:$$N=NewMacros.
PasteUnformatted
    End Select
?End Error handling block.

Как и при работе с VBA Code Commenter, разработчик может задать свой собственный шаблон, по которому будет производиться генерация исходного текста.

Multi-code Import/Export

Для успешного ведения больших проектов программист должен иметь возможность импортировать и экспортировать объекты и модули, созданные на языке Visual Basic. С этой задачей прекрасно справляется расширение VBA Multi-code Import/Export, вернее, пара расширений: одно — для экспорта, другое — для импорта.

Для экспорта объектов следует проделать следующие операции:

  • выбрать из меню Add-Ins расширение Multi-сode Export;
    Рис. 4
  • в списке Available Objects (рис. 4) указать объекты, подлежащие экспорту, и перенести их в список Selected Objects;
  • по данным в поле Target Folder проверить, правильно ли указан путь перенесения объекта;
  • нажать кнопку Export.

Все экспортируемые объекты будут сохранены как файлы с расширением .cls, остальные файлы сохранят свое изначальное расширение. Двоичные же данные не экспортируются. Их лучше сделать общедоступными с помощью другого инструмента — Visual SourceSafe, о котором будет сказано чуть ниже.

Импортирование чужих объектов еще проще и выполняется с помощью парной части расширения под именем Multi-сode Import.

Package and Deployment Wizard

Рис. 5

Инструмент Package and Deployment Wizard — довольно «увесистое» расширение для создания дистрибутивов приложений, выполненных с помощью Office 2000, а также DEP-файлов, описывающих зависимости между отдельными частями проекта (рис. 5). Если дистрибутив приложения инсталлируется программой setup.exe, то файлы зависимостей удобно прикладывать к компонентам.

Package and Deployment Wizard обладает удобной функцией сжатия: подлежащие установке файлы можно упаковать как в один, так и в несколько CAB-файлов. Многофайловые архивы хороши для записи на флоппи-дисках, а при сохранении приложения на CD-ROM можно ограничиться и одним CAB-файлом.

Кроме того, при инсталляции готовой системы Package and Deployment Wizard отследит все этапы установки вспомогательных файлов каждого компонента ActiveX вашего проекта.

VBA Source Code Control

Создатели Office 2000 Developer подумали и об интеграции между различными частями этого пакета. Так, благодаря расширению VBA Source Code Control они встроили управление системой контроля версий Visual SourceSafe в среду VBA. Целиком проект может быть добавлен в хранилище непосредственно из меню Add-Ins, а отдельные его компоненты — с помощью новых пунктов своих контекстных меню: Check In — для сохранения и Check Out — для восстановления.

VBA String Editor

Рис. 6

Небольшой инструмент String Editor автоматически форматирует строки, добавляя синтаксические элементы: кавычки, константы перевода строки и др. String Editor удобен для создания текстов, выводимых в диалоговых панелях и отладочных сообщениях при проверке состояния переменных и объектов. В окне этого расширения имеется пара кнопок, позволяющих подсказывать утилите, где заканчивается строка и начинается какой-нибудь идентификатор, а также символ склейки фрагментов строки. Так, если набрать строку, показанную на рис. 6, получится следующий исходный текст на языке Visual Basic:

?Переменная classVar: ? & classVar & vbNewLine
 & ?Переменная myObject: ? _
 & myObject & vbNewLine

Расширение само добавило ампресанды, сделало обрамление текстовых фрагментов кавычками, вставило константы перехода на новую строку vbNewLine и т. д.

WinApi Viewer
Рис.7

Расширение WinApi Viewer — незаменимый помощник при описании вызовов Windows API из VBA. Как известно, декларация одной-единственной функции в языке Visual Basic может стать настоящей пыткой. WinApi Viewer делает этот процесс не таким мучительным. В чем-то этот инструмент похож на модуль Code Librarian, он даже хранит свои данные в MDB-файлах с именами Apiload.mdb и Win32api. mdb. Выбрав в первой панели диалогового окна (рис. 7) имя искомого элемента программного интерфейса Windows, во второй панели вы увидите его описание на Visual Basic.

Готовое описание легко перенести в исходный текст с помощью буфера обмена данными

Приложения разработчика

В отличие от инструментов разработчика, приложения, входящие в состав Office 2000 Developer, — это самостоятельные программы, не связанные непосредственно с Microsoft Office. Почти все они некогда распространялись отдельно.

Visual SourceSafe

На рынке программных средств пакет Visual SourceSafe (VSS) уже давно занял прочные позиции. Многие разработчики используют этот продукт во время работы над проектом, поскольку он позволяет контролировать разные версии проекта и использовать исходные тексты несколькими участниками рабочей группы, а заодно может служить хранилищем повторно используемого кода.

Рис. 8

В Office 2000 Developer система VSS встраивается в среду разработчика VBA и всегда находится под рукой. Так что занести в хранилище форму, документ, модуль и т. д. можно, не выходя из VBA и не запуская VSS отдельно (рис. 8).

Разумеется, пакет VSS можно запустить как обычное приложение: при инсталляции Office 2000 Developer программа установки создает для него свое меню. В этом есть резон, если разработчики будут использовать в работе не VBA, а другие языки программирования.

HTML Help Workshop

Программа HTML Help Workshop наверняка знакома нашим читателям. Это система создания оперативной помощи на основе HTML-страничек. Запустив FrontPage и подготовив набор Web-страниц с графикой, таблицами и гипертекстовыми ссылками, пропускаете их через HTML Help Workshop. В результате получается очень современная и легкая в использовании справочная система, имеющая оглавление, указатель (индекс) и средства поиска по ключевым словам, — короче, все, как в «подсказках» старого формата. Сердцем HTML-справочников является специальный компонент ActiveX, распространяемый вместе с HTML Help Workshop.

Удобная среда, собственный маленький графический редактор и наличие программного интерфейса HTML Help API делают HTML Help Workshop полезным при создании оперативной помощи в любых приложениях, выстраиваемых на базе Microsoft Office 2000.

Answer Wizard Builder

Инструмент Answer Wizard Builder создает для системы помощи Office 2000 индексные файлы, которые могут использоваться как с HTML Help, так и на узле Web. Подобные индексные файлы позволяют пользователю обращаться к Office Assistant за помощью, задавая вопросы на естественном языке.

Answer Wizard Builder опирается на специальный тренировочный алгоритм, который учитывает связи между терминами и темами, а также анализирует частоту правильных ответов на вопросы пользователя. От разработчика требуется выбрать индексируемые файлы HTML, связать вопросы, для которых определенные темы будут наилучшими ответами, и произвести компиляцию.

Agent Character Editor

Когда-то, впервые появившись в Office, персонажи Office Assistants произвели прекрасное впечатление. Правда, несмотря на свою полезность, стандартные персонажи уже порядком поднадоели. Решить подобную проблему призван Agent Character Editor. Создайте свой анимированный персонаж, который будет появляться в тот самый момент, когда пользователю понадобится помощь.

«Актеры» Office Assistant могут управляться при помощи VBA через объект Assistant Balloon.

Компоненты доступа к данным

Рис. 9

Office 2000 объединяет несколько технологий обмена данными, среди которых DAO, ODBC и OLE Automation, в так называемую технологию Universal Data Access (рис. 9).

Основная ее часть — OLE DB, тогда как программный интерфейс базируется на не менее популярной технологии ActiveX Data Objects (ADO), которая может управляться средствами как на Visual Basic, так и на любом другом языке программирования, поддерживающем объектную модель COM. Если необходим универсальный доступ к данным, по-прежнему «подключается» ODBC.

Для работы OLE DB необходимы провайдеры (providers) данных. В вашем распоряжении два таких провайдера. Один из них, Microsoft Jet 4.0 OLE DB Provider, работает с данными Access и данными I-ISAM, сохраненными в рабочих книгах Excel, почтовых хранилищах Outlook и Exchange, таблицах Paradox и dBASE, электронных таблицах Lotus, «плоских» текстовых файлах и HTML-файлах. Другой — обеспечивает доступ к хранилищам данных в SQL Server версий 6.5 и 7.0. Все прочие данные, которые здесь не перечислены, доступны через ODBC.

Электронная библиотека MSDN

В поставку Office 2000 Developer включена специальная редакция электронной библиотеки разработчика MSDN. Как всегда, MSDN содержит огромную базу данных по платформам и технологиям Microsoft, разнообразную электронную документацию и, что немаловажно, специальный раздел по программированию в среде Office 2000 Developer с подробными разъяснениями. Это ни много ни мало три полных CD!

837