Об Office 2000
Признаюсь сразу, - мне нравится работать в среде Office. Она отвечает моим давним убеждениям о том, какой должна быть среда программирования. Прежде всего, она должна включать хороший язык программирования, на котором программист может реализовывать свои замыслы, создавать свои объекты, строить свой мир. Вместе с тем, такая среда должна позволять легко и просто включать в свою работу специальные средства, созданные в программистском мире, - базы данных, электронные таблицы, графические и текстовые редакторы, экспертные системы. Почти все, что я перечислил, и многое другое доступно в среде Office уже сегодня, завтра этих возможностей будет больше.
Я начал работать в этой среде с момента появления Office 97 и уже более полугода работаю в среде Office 2000, участвуя в программе бета - тестирования. Знакомство с возможностями Office 2000, общение с разработчиками убеждает меня и в том, что Office развивается в нужном, магистральном направлении программирования. Что бы Вы ни делали, с какими документами Вы ни работали, Вас окружает единая среда с единым языком программирования. И, что немаловажно, это среда для всех, - в ней работают программисты-разработчики и конечные пользователи - люди разных профессий и квалификации. Специализация конечных продуктов, которая, конечно же, необходима, достигается с программистской точки зрения совершенно естественно - за счет использования соответствующих классов объектов. Объектный подход к построению среды, сетевые технологии, активно развиваемая технология компонентного программирования, все это и многое другое еще и еще раз убеждают меня в том, что Офисное программирование будет сопровождать нас в XXI веке.
Вот небольшой штрих. Известная фирма Corel заключила соглашение с Microsoft о встраивании VBA во все свои продукты, назвав эту технологию "лучшей в мире", позволяющей настроить документ в соответствии с запросами конечного пользователя. Простим, несомненно, присутствующий рекламный налет, но, в целом, принятое решение представляется естественным, и я могу даже согласиться с подобной характеристикой технологии.
В каком же направлении развивается Office 2000? Точнее сказать, в каких направлениях, поскольку об одном направлении для такой многоплановой системы говорить не приходится. Перечислим лишь некоторые из них:
Это направление обычно называют уменьшение совместной стоимости владения. Программистов - разработчиков такие вещи обычно мало волнуют, но для организаций, использующих сетевой вариант системы, крайне важно уменьшить затраты на развертывание и поддержку системы на всех компьютерах. С этой целью в Ресурсы Office 2000 входят специальные инструментальные средства, облегчающие этот процесс.
Второе направление можно назвать "Офис и Интернет". Сегодня, когда коллективная работа в сети становится нормой, естественно, что система должна поддерживать работу в сети. Главное в этом направлении поддержка работы не только в локальной сети предприятия, но в интрасетях и Интернете. Опубликовать любой документ Office 2000 в Интернете становится таким же простым делом, как просто напечатать его. Преобразование и хранение документов в HTML - формате, так же как и чтение таких документов, не представляет теперь проблем. Более важно, что над такими опубликованными документами возможна совместная работа в сети. Отметим и специальные WEB - компоненты, обладающие возможностями электронных таблиц, диаграмм, сводных таблиц, позволяющие делать с такими документами многое из того, что можно, например, делать в Excel.
Билл Гейтс ввел термин "Цифровая Нервная Система" (Digital Nervous Systems) предприятия. Этот термин становится популярным, по крайней мере в литературе от Microsoft. Надо отдать должное, термин удачный, он вызывает правильные ассоциации. Можно зримо представить информационную нервную систему. Предприятие должно иметь базы данных, хранилища данных, узлы по обработке этой информации, которая должна легко перемещаться и быть доступной в каждом узле. В результате обработки информации должны создаваться видимые образы (графики, диаграммы, отчеты) и все эти документы должны быть доступны для коллективной работы. Офису в этой нервной системе отводится одна из ключевых ролей по обработке информации. Так вот в Office 2000 одним из нововведений является установление более тесной связи с другим продуктом Microsoft - SQL Server 7.0. Последний отвечает за эффективное хранение, поиск, архивацию, аналитическую обработку данных, - за все то, что называется клиент - серверными технологиями работы. Тесное взаимодействие этих двух систем плюс возможности работы в сети Интернет практически и означает для предприятия реализацию ЦНС.
Если говорить о языке программирования VBA, то и он продолжает активно развиваться, Появились новые возможности создания семейства классов, связанных наследованием интерфейсов, что в полной мере позволяет реализовать такое важное свойство семейства классов как полиморфизм. Можно называть еще и многие другие полезные нововведения, но мы ограничимся только одним. Теперь внутри Office 2000 стало возможным создавать независимо работающие компоненты VBA COM Add - ins. Это еще один из шагов в развитии компонентного программирования.
Офисное программирование
Впервые этот термин мы ввели в нашей предыдущей книжке [В.А. Биллиг, М.И. Дехтярь "VBA и Office 97. Офисное программирование"]. Начнем разговор об офисном программировании со следующих определений. "Программирование - это создание программ" - так говорили мы вчера. "Офисное программирование - это создание документов" - говорим мы сегодня. Документ становится первичным, и программа - лишь его часть. Конечно, изменилось само понятие "документ". Теперь он понимается скорее как объект в объектно-ориентированном программировании - собрание данных разного типа и программ, их обрабатывающих. Под документами Office мы понимаем документы разных типов - рабочие книги Excel, базы данных Access, подшивки Binder и презентации PowerPoint. Конечно, сюда же относятся и документы Word. С любым из этих документов связываются и данные и программы. Например, создавая документ в редакторе Word, можно ограничиться созданием его данных - набором некоторого текста. Но и в этом простейшем случае созданный документ связан со многими стандартными программами, применимыми к нему: проверки орфографии, форматирования и другими. Чаще всего документ Word устроен сложнее - кроме текстов, он включает рисунки, клипы, таблицы, диаграммы, и к нему применимы как стандартные, так и специальные программы, учитывающие его специфику.
В этой книге мы будем употреблять термин "офисное программирование" применительно к любой деятельности по созданию документов в среде Office. Конечно, книга ориентирована на программистов, и потому чаще всего речь будет идти о создании программ на VBA, обрабатывающих данные документа. Вместе с тем такие средства Office, как, например, Excel, предоставляют программисту огромные возможности по обработке его документов, не прибегая к традиционному программированию. Его набор функций обработки финансовой информации, мощные средства для проведения статистического анализа, возможности по решению задач оптимизации, не говоря уж о более традиционных средствах работы с электронными таблицами, - все это поистине впечатляет. Так и хочется сказать: "Мы другой такой среды не знаем, где так вольно…"
Работая в среде Office, провести грань между программированием и "работой вручную" довольно сложно. Мы даже вводим специальный термин - "программирование без программирования" для описания подобной деятельности разработчика приложений. Целью разработчика является создание исходного документа с широким спектром функциональных возможностей. В дальнейшем с документом должен работать пользователь, цель которого - получение новой информации как результат работы с документом.
Документ предполагает создание хорошо организованных, структурированных данных, но важно и то, что документ должен быть "живым" - с его данными можно работать, анализировать, изменять и получать новые данные в процессе работы. Все создаваемые программные компоненты документа объединяются в одно целое, называемое проектом. Проект является частью документа и не существует вне его. Он хранится вместе с документом, его невозможно отделить от документа. Невозможно создать независимый от документа проект на VBA.
В чем же преимущества офисного программирования? Вот только некоторые из тех, что получает конечный пользователь:
Пользователь всегда работает в единой офисной среде независимо от того, с каким документом он работает в данный момент и какой программист разрабатывал этот документ.
Большинство доступных при работе с документами функций являются общими для всех документов, поскольку их предоставляет сама офисная среда. Здесь же отметим единый стиль интерфейса разных документов.
Пользователь сам, не будучи программистом, способен создавать простые виды документов, постепенно совершенствуясь в этой деятельности.
Идеи визуального и событийно-управляемого программирования получают в офисном программировании свое естественное развитие, а значит, пользователь в полной мере берет в руки управление своим документом. Программист, предоставляя средства обработки документа, может даже и не подозревать, чего может добиться с их помощью пользователь, понимающий в своем деле.
А есть ли преимущества у программиста, работающего в Office? Есть, и их, пожалуй, не меньше, чем у пользователя:
В его распоряжении мощная интегрированная среда: большинство повседневных задач становятся для него простыми, - чтобы их решить, зачастую достаточно стандартных средств.
Там, где стандартных средств не хватает, доступен язык программирования - VBA, существенная особенность которого - возможность работы с объектами любого из приложений.
Office 2000- это среда разработки, отвечающая современному принципу: "Простые задачи должны решаться просто". Мощность среды определяется тем, какие задачи для нее являются простыми. В этом отношении Office 2000 уникален - круг "простых" для него задач весьма широк. Одна из целей этой книги - показать, что задачи, традиционно считающиеся сложными, программист может успешно решить в среде Office 2000.
Если говорить о сложных задачах, то, естественно, есть такие задачи, для которых стандартных средств Office 2000 и языка VBA недостаточно. Вообще должны одновременно существовать различные программные среды, операционные системы, любимые теми или иными программистами. Лучшая позиция программиста должна состоять не в противопоставлении, а в сотрудничестве. Именно поэтому мне кажутся важными идеи компонентного программирования, где вырабатывается стандарт взаимодействия компонент, создаваемых в разных программных средах, на разных языках, на разных платформах и находящихся на разных машинах.
Состав Office 2000
Рассмотрим более подробно, что же входит в состав Office 2000, какие компоненты можно установить при инсталляции и их назначение. Но прежде, чем начать, хочу сделать одно замечание. Материал этот довольно скучный. Идет перечисление, по существу, только именование объектов. Краткого описания, зачастую, совсем недостаточно, чтобы понять сущность объекта. Тем не менее, полагаю целесообразным предоставить читателю этот материал. Нужно иметь с самого начала достаточно полное, хотя, возможно и не совсем отчетливое представление о структуре системы Office 2000.
Инсталляция Office 2000
При инсталляции системы Office 2000 можно установить:
Прежде всего, известные по Office 97 все основные приложения - Word, Excel, Power Point, Outlook, Access. Заметьте, среди них нет приложения Binder. Подшивка (Binder) включена в состав дополнительного инструментария Office Tools.
Инструментальные средства Office Tools;
Конвертеры и фильтры
Каждое из приложений и все их компоненты при инсталляции устанавливаются в одно из четырех состояний:
"Недоступно", - в этом случае получить доступ к компоненту во время работы невозможно. Возможность задания такого состояния предназначена для администраторов, которые хотят запретить доступ к тем или иным средствам той или иной группе пользователей. Так что в нормальной ситуации выбирается одно из трех оставшихся состояний.
"Жесткий диск", - в этом состоянии при инсталляции компонент устанавливается на жесткий диск Вашего компьютера.
"CD", - компонент при каждом его вызове будет загружаться с компакт-диска.
"CD-1", - компонент будет переписан на жесткий диск при первом обращении к нему. В момент инсталляции он не переносится на жесткий диск. Это новое состояние, которое разумно выбирать для многих компонент.
Каждое из состояний имеет интуитивно понятный значок, позволяющий определить, в каком же состоянии находится тот или иной компонент.
Перейдем теперь к более детальному рассмотрению компонент. Вот состав компонент редактора Word:
Справка (Help), включающая справку для пользователей WordPerfect (Help for WordPerfect Users).
Мастера и Шаблоны (Wizards and Templates), позволяющие создавать:Письма (Letters); Записки или меморандумы (Memos); Факсы (Faxes); Отчеты (Reports); Резюме (Resumes). Каждый из этих документов может быть создан в одной из трех форм: современной, изысканной и профессиональной.
WEB - страницы (Web Pages). Здесь есть Мастер страниц и шаблоны страниц. Это одна из новинок для работы в Интернет.
Дополнительный набор Мастеров, позволяющий создавать ходатайства, записную книжку, календарь, новый шаблон для писем.
Набор дополнительных шаблонов и макросов.
У Excel набор возможных компонент естественно шире:
Справка.
Шаблоны документов (Spreadsheet Templates) Почти все они известны по предыдущей версии:Счет (Invoice Template).
Отчет о расходах (Expense Report).
Распоряжение на покупку (Purchase Order Template)
Программное обеспечение фирмы Village (Village Software).
Компоненты, расширяющие возможности (Add - ins):Связь c Access (Access Links). Использование форм и отчетов Access в таблицах Excel.
ODBC Add -In. Драйверы для доступа к базам данных, использующих язык запросов SQL.
Утилиты шаблонов (Template Utilities).
Пакет средств анализа (Analysis Tool Pack). Функции и интерфейсы финансового и научного анализа данных.
Автосохранение (AutoSave). Периодическое, с заданным интервалом сохранение рабочих книг.
Мастер Поиска (LookUp Wizard). Помогает создавать формулы для поиска данных в списках Excel.
Менеджер отчетов (Report Manager). Помогает создавать отчеты на основе сценариев.
Мастер суммирования по условию (Conditional Sum Wizard). Суммирует данные в списках в соответствии с заданными условиями.
Решатель (Solver). Мощный Решатель, позволяющий решать системы уравнений и задачи оптимизации широкого класса.
Мастер, следящий за изменениями данных (Template Wizard with Data tracking). Создает шаблоны форм, хранящие изменения данных.
Обновление ссылок (Update Links). Позволяет обновление ссылок на документы Excel вплоть до 4-й версии для add - in функций, встроенных в Excel.
Файлы с примерами (Sample Files).
Рассмотрим теперь состав Power Point:
Справка (Help);
Учебник (Tutorial).
Шаблоны, задающие стиль оформления слайдов (Design Templates):Типичные (Typical Design Templates);
Дополнительные (Additional Design Templates).
Средство просмотра файлов (PPT Files Viewer).
Шаблоны содержания (Content Templates).Типичные;
Дополнительные.
Широковещательные, озвученные презентации (Presentation Broadcasting).В этом году очередная конференция разработчиков DevCon 99 готовилась на основе использования этого средства. Конференции в привычном смысле этого слова, как это было в прошлом году, не будет. Не будет живого общения докладчиков и слушателей, но зато в Интернете можно будет не только просмотреть презентации докладов, но и услышать докладчиков, подробно рассказывающих о каждом слайде. Мне также довелось озвучивать свой доклад (презентацию) на эту конференцию, сделанный по материалам одной из лекций этой книги.
Трансляторы презентаций (Presentations Translators). По существу речь идет о конверторах.Экспорт версии 4.0 (Power Point 4.0 Export).
Трансляция презентаций Lotus (Lotus Freelance 1.0 - 2.1 for DOS Converter)
Эффекты звуковой анимации (Animation Sound Effects).
Мастер базисной графики (Genigraphics Wizard).
Несмотря на расширение возможностей Outlook, состав его компонент, задаваемых при инсталляции, невелик. Понятно, что речь идет только о количественной оценке. Вот эти компоненты:
Справка (Help).
Средство защиты от несанкционированного доступа (Outlook AntiSpan).
Электронная торговля (Stationery).
Импорт и экспорт (Import and Export).
Шаблоны (Outlook Templates).
Язык сценариев (VB Script).
Достаточно скромен количественно и состав Access:
Справка (Help).
Мастера типовые и дополнительные (Typical and Additional Wizards).
Примеры баз данных:Известная по предыдущей версии база "Борей" ( Northwind Database).
Ряд примеров, среди них - Nortwind SQL Project File, Address Application, Contact Application, Household Inventory, Web Tracker.
Средство просмотра фотографий (Snapshot Viewer)
Репликация баз данных (Database Replication).
Интерактивный элемент управления "Календарь".
Рассмотрим теперь различный дополнительный инструментарий, входящий в состав Office Tools:
Помощник (Office Assistant) с возможностью выбора различных модификаций его внешнего облика.
Цифровая подпись (Digital Signature).
Публикация на WEB (Web Publishing).
WEB - конференции (Web Discussing).
Язык запросов (Microsoft Query), включающий возможность получения справки.
Средства установки поддержки национальных языков (Language Settings Tools).
Подшивка (Microsoft Binder).
Набор средств, позволяющих проверить правописание и грамматику (Proofing Tools).
Темы - типовые и дополнительные (Themes), создающие фон документа, навевающий те или иные ассоциации в соответствии с выбранной темой.
Редактирование HTML кода (HTML Source Editing) с поддержкой языка сценариев (Web scripting).
Проектирование динамических HTML-страниц (Dynamic HTML Page Designer).
Справка по языку VB для всех приложений, поддерживающих его - Word, Excel, Power Point, Access, а также для нового в сравнении с предыдущей версией приложения Microsoft Graph.
Международная поддержка (International Support) чтения и написания документов на иностранных языках с поддержкой универсальных шрифтов и национальных, таких, как японский, китайский и другие.
Организационные блок - схемы (Organizational Charts).
Редактор (Microsoft Graph), включающий справку.
Поддержка сканера и фотокамеры (Scanner and Camera Add -In).
Редактор уравнений (Equation Editor).
Редактор графических изображений (Microsoft Photo Editor.
Галерея разнообразных графических объектов (Clip Gallery).
Информационная система (MS Info). Она полезна и необходима администратору для сбора информации о компьютерах.
Панель с элементами быстрого поиска (Find Fast Control Panel).
Поддержка почтовой системы Lotus (Lotus VIM Mail Support).
Поиск словоформ в документах WORD (Find All Word Forms).
Создание панели Office 2000 (MS Office Shortcut Bar), позволяющая создавать ярлыки на рабочем столе. Обычно, на эту панель я помещаю и ярлыки других любимых мной приложений.
Уже это простое перечисление показывает, насколько внушителен набор дополнительного инструментария, поставляемого вместе с Office 2000.
В заключение остается сказать о столь же солидном наборе конверторов, позволяющих экспортировать и импортировать текстовые и графические файлы разных форматов, созданных, как в предыдущих версиях Office, так и в других популярных системах.
И еще одно замечание насчет требуемых ресурсов компьютера. Нужно сказать, что у меня довольно скромный компьютер - Pentium 133, 32Mb оперативной памяти и примерно 10Gb дисковой памяти. У меня на компьютере стоит под Windows 95 Office 97 и под Windows NT - Office 2000. По ходу написания книги мне приходилось одновременно работать со многими приложениями Office 2000 - Word, Excel, Access плюс какой-нибудь графический редактор. Нужно сказать, что ресурсов компьютера мне хватало, хотя всегда хочется, чтобы их было больше.
Содержимое диска "Resource Kit"
В моем распоряжении был и такой диск Этот диск содержал два текстовых документа - Issues, ORK9 и три папки - Tools, Policy, Office9 Enterprise White Papers. Коротко скажем о каждом из документов и содержимом папок.
Документ Issues
В этом небольшом одностраничном документе описываются некоторые вопросы установки средств Office 2000. В частности, рассматриваются вопросы корректной установки Internet Explorer 5.0 и настраиваемых сообщений об ошибках.
Документ ORK9
Это большой документ, называемый "Ресурсы Office 2000". Известно, что книги с названием "Ресурсы" всегда являются самыми толстыми среди всех книг, описывающих систему. Поэтому 330 страниц этого документа это почти в три раза меньше соответствующего документа "Ресурсы Office 97".
Авторы документа отмечают, что данная книга не является простым обновлением предыдущей версии, - это заново создаваемый документ. Как обычно, наряду с бумажной версией, которая должна выйти в издательстве Microsoft Press, готовится регулярно обновляемая электронная версия "Ресурсов", которую можно будет найти на сервере.
Книга "Ресурсы" предназначена, прежде всего, сетевым администраторам. Здесь подробно описываются все вопросы инсталляции и развертывания сетевого варианта Office 2000, также как и все используемые для этих целей вспомогательные средства. Именно здесь подробно описываются все инструменты, содержащиеся в выше названных папках этого компакт диска. Она совершенно необходима для тех, кто будет участвовать в установке и поддержке совместной работы Office 2000 в своей организации. Заметим, что конечные пользователи и программисты - разработчики могут обойтись без чтения этой большой книги, хотя, несомненно, и те и другие могут найти в ней много полезного. Например, многих может заинтересовать такой раздел, как "Использование клиентских приложений, связанных с WEB - сервером" и вообще все, что касается работы с сервером, чему в Ресурсах Office 2000 уделяется немалое внимание.
Очень коротко о содержимом инструментальных средств, хранящихся в папках этого диска. Как уже говорилось, общая их направленность состоит в поддержке администратора, отвечающего за установку и функционирование Office 2000 в организации, где эта система используется многими пользователями на многих компьютерах, связанных сетью.
Папка Tools
В папках этой папки собран инструментарий, облегчающий конфигурирование, развертку и настройку Office 2000 в большой организации. Дадим краткую характеристику этих средств:
Три основных мастера работают, как правило, совместно и инсталлируются одновременно.Мастер Инсталляции с Настройкой (Custom Installation Wizard) необходим при сетевой инсталляции системы. Он обладает новыми дополнительными возможностями в сравнении с его предыдущей версии (Network Installation Wizard), поставляемой в Resource Kit 97.
Мастер Создания Профилей (Office Profile Wizard) может работать и независимо. Он позволяет создавать профили различных групп пользователей, в том числе профиль по умолчанию. С его помощью администратор имеет возможность контролировать конфигурации конечных пользователей и обеспечить единую политику в организации.
Мастер инсталляции Internet Explorer 5.0 (Internet Explorer Administrator Kit) позволяет произвести настройку браузера.
В папке Office_Profile_and_Custom_Installation_Wizard достаточно запустить программу Setup и следовать появляющимся инструкциям. Одновременно будут инсталлированы все три выше перечисленные инструмента, которые, как мы уже говорили, обычно работают совместно.
Мастер Профилей 97 (Office 97 Profile Wizard), который находится в одноименной папке, позволяет обезопасить работу с новой версией. Он позволяет сохранить установки Office 97, затем установить версию Office 2000, поработать с ней, поэкспериментировать, затем удалить ее и вернуться к предыдущей версии с сохраненными установками.
Мастер Удаления (Office Removal Wizard) находится в одноименной папке. Позволяет управлять процессом удаления тех или иных компонент предыдущих версий системы. Он может работать независимо, но одновременно входит в состав Мастера Инсталляции.
Построитель Мастера Ответов (Answer Wizard Builder) позволяет осуществлять настройку Мастера Ответов. Известно, что одной из характерных особенностей Office, как и других продуктов Microsoft, является повышение "интеллекта" системы. В рамках этого направления в систему Office включена "интеллектуальная" система получения справки, называемая обычно "Помощник" (Office Assistant). При необходимости получения справки Помощнику можно задавать вопросы на естественном (английском) языке. Средство, стоящее "за спиной" Помощника и называется Мастером Ответов (Answer Wizard). Именно оно производит разбор вопроса и формирует ответ. Понятно, что вопросы, связанные со спецификой конкретной организации, не могут быть поняты Мастером Ответов. Для того, чтобы можно было произвести его настройку, расширив его возможности понимания специфических вопросов и применяется Построитель Мастера Ответов. Такая настройка на специфику характерна для Office 2000. В частности, это касается и настройки выдаваемых сообщений. Такие сообщения - предупреждения называются алертами (Alert).
Потенциально Настраиваемые Сообщения (Customizable Alerts). Это не Мастер Настройки. В одноименной папке находятся примеры активных страниц, размещаемых на сервере (asp-страниц), в которых такая настройка осуществлена. Сама технология настройки описана в документе "Ресурсы Office 2000"
Помощник без анимации (Motionless Assistant) находится в одноименной папке и используется тогда, когда при развертывании системы Office 2000 предварительно оценивается ее производительность. В этом случае при инсталляции нужно использовать Windows Terminal Server окружение и инсталлировать Помощник без анимации, который и будет сопровождать Вас в процессе оценки производительности.
Набор инструментов Excel (Excel Tools) расположен в одноименной папке. В папке tools находятся некоторые средства, ориентированные на конкретное приложение. В частности, в рассматриваемой папке находятся средства, обеспечивающие корректный переход от задания дат в формате, принятом в предыдущих версиях Excel, к формату, обеспечивающем корректную работу в следующем тысячелетии. Среди других полезных утилит здесь есть, например, утилита, поддерживающая корректное восстановление поврежденных документов Excel.
Автономный Просмотр Презентаций (Power Point 97/9 Viewer) позволяет просматривать презентации Power Point предыдущей и настоящей версии, не требуя присутствия самого приложения Power Point.
Папка Policy. В этой папке содержится обновленная версия Редактора Системных Политик (System Policy Editor) и несколько шаблонов политик, обеспечивающих управление средой Office 2000 после ее инсталляции.
Содержимое диска "Language Pack"
Этот диск содержит средства поддержки многоязычной работы приложений Office 2000. Сегодня становится обыденной ситуация, при которой участники, совместно разрабатывающие документы, находятся в разных странах и используют в своей работе разные национальные языки. Office 2000 предлагает новые возможности поддержки такого стиля работы. Здесь можно "на лету" изменять язык окружения Office 2000, - меню и прочее.
Microsoft Office 2000 Developer
Office 2000 поставляется в нескольких вариантах. Разработчики предпочитают иметь полный вариант системы, называемый Office 2000 Developer. Этот вариант включает помимо всего выше перечисленного и весьма полезные средства, специально предназначенные для разработчиков. Они таковы:
COM Add -in Designer. Этот проектировщик COM - объектов позволяет создать и отладить, не покидая окружение Office 2000, Add - In объект в виде DLL. Такие элементы расширяют функциональные возможности, поставляются и распространяются независимо. Ранее их можно было создавать, используя средства, например, Visual C++ или VB, входящие в состав Visual Studio. Теперь это стало доступно и для VBA.
Code Librarian. Эта библиотека повторно используемого кода. Она предназначена для команды разработчиков, совместно использующих создаваемый код как на VBA, так и в Visual Studio. Она представляет централизованную базу данных со специальными средствами поиска, включает также Add -Ins, предназначенные для автоматизации создания документации по программам, средства грамматического разбора строк, обработчики ошибок и другие полезные средства.
Printed Developer Documentation. Сюда включена различная учебная литература, облегчающая разработчикам жизнь. Сюда входят частично библиотека MSDN, полезные статьи, различные примеры решений. Если зашла речь о MSDN, то следует отметить, что через Интернет разработчики могут получать массу полезной информации, используя службу Microsoft Developer Network (MSDN) по адресу: ( http://www.microsoft.com./msdn/). Полезная для разработчиков информация находится также на ежедневно обновляемом узле Office Developer Forum, адрес которого: ( http://www.microsoft.com./offcedev/).
Data Environment Designer. Этот проектировщик облегчает связывание с внешними источниками данных в VBA - программах путем создания специальных форм и элементов управления с ясным визуальным интерфейсом, ориентированном на конечного пользователя.
Data Report Designer. Облегчает разработчикам создание "руками" сложных отчетов, выводимых на печать, без необходимости написания кода.
Data Bound Controls. Облегчает создание интуитивно ясного интерфейса отображения данных за счет использования специально спроектированных элементов управления. Например, элемент Enhanced FlexGrid отображает иерархически связанные данные в интуитивном формате представления в виде дерева.
String Editor. Этот строковый редактор позволяет, например, создавать SQL - запросы. Могу отметить, что в предыдущей версии была проблема, поскольку строки SQL - предложений имеют запутанный синтаксис и всегда возникают проблемы с кавычками. Здесь используется WYSIWIG интерфейс.
Code Commenter. Комментатор кода позволяет автоматически создавать комментарии и заголовки к процедурам, используя настраиваемые шаблоны.
Error Handler. Обработчик ошибок автоматически создает стандартизованный код обработки ошибки, используя настраиваемые шаблоны.
Multi - Code Import/Export. Преобразует разделенный код операций импорта и экспорта в единый код.
Package and Deployment Wizard. Этот Мастер позволяет разработчикам создать пакет для инсталляции и развертывания создаваемого ими приложения. Полезен в том числе и при развертывании приложения на WEB.
Microsoft Replication Manager. Позволяет просматривать и управлять репликами баз данных Microsoft Jet в локальных сетях или Internet.
На этом я хочу закончить этот несколько утомительный обзор того, что входит в состав этого грандиозного здания, называемого Office 2000.
Об этой книге и ...
Несколько слов об этой книге и о наших замыслах, о том проекте, который был выработан совместно с издательством "Русская Редакция". Наша предыдущая книга по Офисному программированию, о которой мы уже упоминали, имела около 700 страниц, что, по нашему мнению, находится на пределе максимально разумного объема для книги. Вместе с тем, тема Office 2000 обширна и хотелось более полно осветить многие уже имеющиеся в Office 97 возможности и, конечно же, рассмотреть новинки Office 2000. Поэтому мы задумали выпустить три книги, объединенных общей темой "Офисное программирование" Первая книга "VBA в Office 2000. Офисное программирование" перед Вами. Две другие книги имеют следующие предварительные названия:
"Объекты Office 2000. Офисное программирование"
"Средства разработчика Office 2000. Офисное программирование"
Последняя из книг этой серии должна содержать компакт-диск, содержащий примеры ко всем трем книгам. В этом плане есть, по крайней мере, одно достоинство, - если Вам не понравится первая книга, то Вы не станете тратиться на покупку остальных книг. Еще один аргумент в пользу такого решения, - у читателей появляется возможность связаться с автором и попытаться повлиять на содержание последующих книг.
В какой мере эти планы осуществятся, покажет жизнь, но первая книга уже написана. Она посвящена, в основном, языку VBA. В книге дается достаточно полное описание языка, начиная от описания переменных до описания построения модулей и проектов. Так что программист, ранее не знакомый с этим языком, прочитав эту книгу, получит возможность ознакомиться со всеми основными конструкциями VBA. Вместе с тем, книга адресована в первую очередь тем, кто уже работает на VBA в среде Office 97 и собирается перейти в среду Office 2000 при ее появлении. Но даже, если он не спешит с переходом, и будет продолжать работать в старом окружении, книга может быть ему полезной. Она может быть полезной и программистам, работающим на языке VB. Ведь речь идет по существу об одном языке, и, как меня поправляли в Microsoft, правильно говорить не о языке VBA 2000, а о языке VB6 в Office 2000. Те, кто знаком с предыдущей книгой, найдут много нового. Прежде всего, в книге подробно рассматриваются новые возможности, появившиеся в VBA 2000. Вот некоторые новые темы, большинство из которых связаны с новыми возможностями:
Семейства классов, связанные наследованием интерфейсов.
Реализация полиморфизма семейства классов.
Программирование Win32 API. Новой появившейся возможностью стала работа с Callback функциями, функциями обратного вызова, что обеспечивает теперь возможность работы с таймером, функциями перечисления.
Программирование семейства документов и системы проектов, связанных общей памятью и общими процедурами.
Новые средства работы со строками, в частности разбора строк.
Моя благодарность
Работу над этой книгой мне пришлось, к сожалению, вести одному. Мой соавтор Михаил Иосифович Дехтярь в период написания этой книги ушел в чистую математику (computer science) и сейчас находится в университете города Нант во Франции. Я приношу ему свою благодарность за те обсуждения, которые состоялись, и за использование материалов нашей совместной книги.
Об Office 2000
Признаюсь сразу, - мне нравится работать в среде Office. Она отвечает моим давним убеждениям о том, какой должна быть среда программирования. Прежде всего, она должна включать хороший язык программирования, на котором программист может реализовывать свои замыслы, создавать свои объекты, строить свой мир. Вместе с тем, такая среда должна позволять легко и просто включать в свою работу специальные средства, созданные в программистском мире, - базы данных, электронные таблицы, графические и текстовые редакторы, экспертные системы. Почти все, что я перечислил, и многое другое доступно в среде Office уже сегодня, завтра этих возможностей будет больше.
Я начал работать в этой среде с момента появления Office 97 и уже более полугода работаю в среде Office 2000, участвуя в программе бета - тестирования. Знакомство с возможностями Office 2000, общение с разработчиками убеждает меня и в том, что Office развивается в нужном, магистральном направлении программирования. Что бы Вы ни делали, с какими документами Вы ни работали, Вас окружает единая среда с единым языком программирования. И, что немаловажно, это среда для всех, - в ней работают программисты-разработчики и конечные пользователи - люди разных профессий и квалификации. Специализация конечных продуктов, которая, конечно же, необходима, достигается с программистской точки зрения совершенно естественно - за счет использования соответствующих классов объектов. Объектный подход к построению среды, сетевые технологии, активно развиваемая технология компонентного программирования, все это и многое другое еще и еще раз убеждают меня в том, что Офисное программирование будет сопровождать нас в XXI веке.
Вот небольшой штрих. Известная фирма Corel заключила соглашение с Microsoft о встраивании VBA во все свои продукты, назвав эту технологию "лучшей в мире", позволяющей настроить документ в соответствии с запросами конечного пользователя. Простим, несомненно, присутствующий рекламный налет, но, в целом, принятое решение представляется естественным, и я могу даже согласиться с подобной характеристикой технологии.
В каком же направлении развивается Office 2000? Точнее сказать, в каких направлениях, поскольку об одном направлении для такой многоплановой системы говорить не приходится. Перечислим лишь некоторые из них:
Это направление обычно называют уменьшение совместной стоимости владения. Программистов - разработчиков такие вещи обычно мало волнуют, но для организаций, использующих сетевой вариант системы, крайне важно уменьшить затраты на развертывание и поддержку системы на всех компьютерах. С этой целью в Ресурсы Office 2000 входят специальные инструментальные средства, облегчающие этот процесс.
Второе направление можно назвать "Офис и Интернет". Сегодня, когда коллективная работа в сети становится нормой, естественно, что система должна поддерживать работу в сети. Главное в этом направлении поддержка работы не только в локальной сети предприятия, но в интрасетях и Интернете. Опубликовать любой документ Office 2000 в Интернете становится таким же простым делом, как просто напечатать его. Преобразование и хранение документов в HTML - формате, так же как и чтение таких документов, не представляет теперь проблем. Более важно, что над такими опубликованными документами возможна совместная работа в сети. Отметим и специальные WEB - компоненты, обладающие возможностями электронных таблиц, диаграмм, сводных таблиц, позволяющие делать с такими документами многое из того, что можно, например, делать в Excel.
Билл Гейтс ввел термин "Цифровая Нервная Система" (Digital Nervous Systems) предприятия. Этот термин становится популярным, по крайней мере в литературе от Microsoft. Надо отдать должное, термин удачный, он вызывает правильные ассоциации. Можно зримо представить информационную нервную систему. Предприятие должно иметь базы данных, хранилища данных, узлы по обработке этой информации, которая должна легко перемещаться и быть доступной в каждом узле. В результате обработки информации должны создаваться видимые образы (графики, диаграммы, отчеты) и все эти документы должны быть доступны для коллективной работы. Офису в этой нервной системе отводится одна из ключевых ролей по обработке информации. Так вот в Office 2000 одним из нововведений является установление более тесной связи с другим продуктом Microsoft - SQL Server 7.0. Последний отвечает за эффективное хранение, поиск, архивацию, аналитическую обработку данных, - за все то, что называется клиент - серверными технологиями работы. Тесное взаимодействие этих двух систем плюс возможности работы в сети Интернет практически и означает для предприятия реализацию ЦНС.
Если говорить о языке программирования VBA, то и он продолжает активно развиваться, Появились новые возможности создания семейства классов, связанных наследованием интерфейсов, что в полной мере позволяет реализовать такое важное свойство семейства классов как полиморфизм. Можно называть еще и многие другие полезные нововведения, но мы ограничимся только одним. Теперь внутри Office 2000 стало возможным создавать независимо работающие компоненты VBA COM Add - ins. Это еще один из шагов в развитии компонентного программирования.
Офисное программирование
Впервые этот термин мы ввели в нашей предыдущей книжке [В.А. Биллиг, М.И. Дехтярь "VBA и Office 97. Офисное программирование"]. Начнем разговор об офисном программировании со следующих определений. "Программирование - это создание программ" - так говорили мы вчера. "Офисное программирование - это создание документов" - говорим мы сегодня. Документ становится первичным, и программа - лишь его часть. Конечно, изменилось само понятие "документ". Теперь он понимается скорее как объект в объектно-ориентированном программировании - собрание данных разного типа и программ, их обрабатывающих. Под документами Office мы понимаем документы разных типов - рабочие книги Excel, базы данных Access, подшивки Binder и презентации PowerPoint. Конечно, сюда же относятся и документы Word. С любым из этих документов связываются и данные и программы. Например, создавая документ в редакторе Word, можно ограничиться созданием его данных - набором некоторого текста. Но и в этом простейшем случае созданный документ связан со многими стандартными программами, применимыми к нему: проверки орфографии, форматирования и другими. Чаще всего документ Word устроен сложнее - кроме текстов, он включает рисунки, клипы, таблицы, диаграммы, и к нему применимы как стандартные, так и специальные программы, учитывающие его специфику.
В этой книге мы будем употреблять термин "офисное программирование" применительно к любой деятельности по созданию документов в среде Office. Конечно, книга ориентирована на программистов, и потому чаще всего речь будет идти о создании программ на VBA, обрабатывающих данные документа. Вместе с тем такие средства Office, как, например, Excel, предоставляют программисту огромные возможности по обработке его документов, не прибегая к традиционному программированию. Его набор функций обработки финансовой информации, мощные средства для проведения статистического анализа, возможности по решению задач оптимизации, не говоря уж о более традиционных средствах работы с электронными таблицами, - все это поистине впечатляет. Так и хочется сказать: "Мы другой такой среды не знаем, где так вольно…"
Работая в среде Office, провести грань между программированием и "работой вручную" довольно сложно. Мы даже вводим специальный термин - "программирование без программирования" для описания подобной деятельности разработчика приложений. Целью разработчика является создание исходного документа с широким спектром функциональных возможностей. В дальнейшем с документом должен работать пользователь, цель которого - получение новой информации как результат работы с документом.
Документ предполагает создание хорошо организованных, структурированных данных, но важно и то, что документ должен быть "живым" - с его данными можно работать, анализировать, изменять и получать новые данные в процессе работы. Все создаваемые программные компоненты документа объединяются в одно целое, называемое проектом. Проект является частью документа и не существует вне его. Он хранится вместе с документом, его невозможно отделить от документа. Невозможно создать независимый от документа проект на VBA.
В чем же преимущества офисного программирования? Вот только некоторые из тех, что получает конечный пользователь:
Пользователь всегда работает в единой офисной среде независимо от того, с каким документом он работает в данный момент и какой программист разрабатывал этот документ.
Большинство доступных при работе с документами функций являются общими для всех документов, поскольку их предоставляет сама офисная среда. Здесь же отметим единый стиль интерфейса разных документов.
Пользователь сам, не будучи программистом, способен создавать простые виды документов, постепенно совершенствуясь в этой деятельности.
Идеи визуального и событийно-управляемого программирования получают в офисном программировании свое естественное развитие, а значит, пользователь в полной мере берет в руки управление своим документом. Программист, предоставляя средства обработки документа, может даже и не подозревать, чего может добиться с их помощью пользователь, понимающий в своем деле.
А есть ли преимущества у программиста, работающего в Office? Есть, и их, пожалуй, не меньше, чем у пользователя:
В его распоряжении мощная интегрированная среда: большинство повседневных задач становятся для него простыми, - чтобы их решить, зачастую достаточно стандартных средств.
Там, где стандартных средств не хватает, доступен язык программирования - VBA, существенная особенность которого - возможность работы с объектами любого из приложений.
Office 2000- это среда разработки, отвечающая современному принципу: "Простые задачи должны решаться просто". Мощность среды определяется тем, какие задачи для нее являются простыми. В этом отношении Office 2000 уникален - круг "простых" для него задач весьма широк. Одна из целей этой книги - показать, что задачи, традиционно считающиеся сложными, программист может успешно решить в среде Office 2000.
Если говорить о сложных задачах, то, естественно, есть такие задачи, для которых стандартных средств Office 2000 и языка VBA недостаточно. Вообще должны одновременно существовать различные программные среды, операционные системы, любимые теми или иными программистами. Лучшая позиция программиста должна состоять не в противопоставлении, а в сотрудничестве. Именно поэтому мне кажутся важными идеи компонентного программирования, где вырабатывается стандарт взаимодействия компонент, создаваемых в разных программных средах, на разных языках, на разных платформах и находящихся на разных машинах.
Состав Office 2000
Рассмотрим более подробно, что же входит в состав Office 2000, какие компоненты можно установить при инсталляции и их назначение. Но прежде, чем начать, хочу сделать одно замечание. Материал этот довольно скучный. Идет перечисление, по существу, только именование объектов. Краткого описания, зачастую, совсем недостаточно, чтобы понять сущность объекта. Тем не менее, полагаю целесообразным предоставить читателю этот материал. Нужно иметь с самого начала достаточно полное, хотя, возможно и не совсем отчетливое представление о структуре системы Office 2000.
Инсталляция Office 2000
При инсталляции системы Office 2000 можно установить:
Прежде всего, известные по Office 97 все основные приложения - Word, Excel, Power Point, Outlook, Access. Заметьте, среди них нет приложения Binder. Подшивка (Binder) включена в состав дополнительного инструментария Office Tools.
Инструментальные средства Office Tools;
Конвертеры и фильтры
Каждое из приложений и все их компоненты при инсталляции устанавливаются в одно из четырех состояний:
"Недоступно", - в этом случае получить доступ к компоненту во время работы невозможно. Возможность задания такого состояния предназначена для администраторов, которые хотят запретить доступ к тем или иным средствам той или иной группе пользователей. Так что в нормальной ситуации выбирается одно из трех оставшихся состояний.
"Жесткий диск", - в этом состоянии при инсталляции компонент устанавливается на жесткий диск Вашего компьютера.
"CD", - компонент при каждом его вызове будет загружаться с компакт-диска.
"CD-1", - компонент будет переписан на жесткий диск при первом обращении к нему. В момент инсталляции он не переносится на жесткий диск. Это новое состояние, которое разумно выбирать для многих компонент.
Каждое из состояний имеет интуитивно понятный значок, позволяющий определить, в каком же состоянии находится тот или иной компонент.
Перейдем теперь к более детальному рассмотрению компонент. Вот состав компонент редактора Word:
Справка (Help), включающая справку для пользователей WordPerfect (Help for WordPerfect Users).
Мастера и Шаблоны (Wizards and Templates), позволяющие создавать:Письма (Letters); Записки или меморандумы (Memos); Факсы (Faxes); Отчеты (Reports); Резюме (Resumes). Каждый из этих документов может быть создан в одной из трех форм: современной, изысканной и профессиональной.
WEB - страницы (Web Pages). Здесь есть Мастер страниц и шаблоны страниц. Это одна из новинок для работы в Интернет.
Дополнительный набор Мастеров, позволяющий создавать ходатайства, записную книжку, календарь, новый шаблон для писем.
Набор дополнительных шаблонов и макросов.
У Excel набор возможных компонент естественно шире:
Справка.
Шаблоны документов (Spreadsheet Templates) Почти все они известны по предыдущей версии:Счет (Invoice Template).
Отчет о расходах (Expense Report).
Распоряжение на покупку (Purchase Order Template)
Программное обеспечение фирмы Village (Village Software).
Компоненты, расширяющие возможности (Add - ins):Связь c Access (Access Links). Использование форм и отчетов Access в таблицах Excel.
ODBC Add -In. Драйверы для доступа к базам данных, использующих язык запросов SQL.
Утилиты шаблонов (Template Utilities).
Пакет средств анализа (Analysis Tool Pack). Функции и интерфейсы финансового и научного анализа данных.
Автосохранение (AutoSave). Периодическое, с заданным интервалом сохранение рабочих книг.
Мастер Поиска (LookUp Wizard). Помогает создавать формулы для поиска данных в списках Excel.
Менеджер отчетов (Report Manager). Помогает создавать отчеты на основе сценариев.
Мастер суммирования по условию (Conditional Sum Wizard). Суммирует данные в списках в соответствии с заданными условиями.
Решатель (Solver). Мощный Решатель, позволяющий решать системы уравнений и задачи оптимизации широкого класса.
Мастер, следящий за изменениями данных (Template Wizard with Data tracking). Создает шаблоны форм, хранящие изменения данных.
Обновление ссылок (Update Links). Позволяет обновление ссылок на документы Excel вплоть до 4-й версии для add - in функций, встроенных в Excel.
Файлы с примерами (Sample Files).
Рассмотрим теперь состав Power Point:
Справка (Help);
Учебник (Tutorial).
Шаблоны, задающие стиль оформления слайдов (Design Templates):Типичные (Typical Design Templates);
Дополнительные (Additional Design Templates).
Средство просмотра файлов (PPT Files Viewer).
Шаблоны содержания (Content Templates).Типичные;
Дополнительные.
Широковещательные, озвученные презентации (Presentation Broadcasting).В этом году очередная конференция разработчиков DevCon 99 готовилась на основе использования этого средства. Конференции в привычном смысле этого слова, как это было в прошлом году, не будет. Не будет живого общения докладчиков и слушателей, но зато в Интернете можно будет не только просмотреть презентации докладов, но и услышать докладчиков, подробно рассказывающих о каждом слайде. Мне также довелось озвучивать свой доклад (презентацию) на эту конференцию, сделанный по материалам одной из лекций этой книги.
Трансляторы презентаций (Presentations Translators). По существу речь идет о конверторах.Экспорт версии 4.0 (Power Point 4.0 Export).
Трансляция презентаций Lotus (Lotus Freelance 1.0 - 2.1 for DOS Converter)
Эффекты звуковой анимации (Animation Sound Effects).
Мастер базисной графики (Genigraphics Wizard).
Несмотря на расширение возможностей Outlook, состав его компонент, задаваемых при инсталляции, невелик. Понятно, что речь идет только о количественной оценке. Вот эти компоненты:
Справка (Help).
Средство защиты от несанкционированного доступа (Outlook AntiSpan).
Электронная торговля (Stationery).
Импорт и экспорт (Import and Export).
Шаблоны (Outlook Templates).
Язык сценариев (VB Script).
Достаточно скромен количественно и состав Access:
Справка (Help).
Мастера типовые и дополнительные (Typical and Additional Wizards).
Примеры баз данных:Известная по предыдущей версии база "Борей" ( Northwind Database).
Ряд примеров, среди них - Nortwind SQL Project File, Address Application, Contact Application, Household Inventory, Web Tracker.
Средство просмотра фотографий (Snapshot Viewer)
Репликация баз данных (Database Replication).
Интерактивный элемент управления "Календарь".
Рассмотрим теперь различный дополнительный инструментарий, входящий в состав Office Tools:
Помощник (Office Assistant) с возможностью выбора различных модификаций его внешнего облика.
Цифровая подпись (Digital Signature).
Публикация на WEB (Web Publishing).
WEB - конференции (Web Discussing).
Язык запросов (Microsoft Query), включающий возможность получения справки.
Средства установки поддержки национальных языков (Language Settings Tools).
Подшивка (Microsoft Binder).
Набор средств, позволяющих проверить правописание и грамматику (Proofing Tools).
Темы - типовые и дополнительные (Themes), создающие фон документа, навевающий те или иные ассоциации в соответствии с выбранной темой.
Редактирование HTML кода (HTML Source Editing) с поддержкой языка сценариев (Web scripting).
Проектирование динамических HTML-страниц (Dynamic HTML Page Designer).
Справка по языку VB для всех приложений, поддерживающих его - Word, Excel, Power Point, Access, а также для нового в сравнении с предыдущей версией приложения Microsoft Graph.
Международная поддержка (International Support) чтения и написания документов на иностранных языках с поддержкой универсальных шрифтов и национальных, таких, как японский, китайский и другие.
Организационные блок - схемы (Organizational Charts).
Редактор (Microsoft Graph), включающий справку.
Поддержка сканера и фотокамеры (Scanner and Camera Add -In).
Редактор уравнений (Equation Editor).
Редактор графических изображений (Microsoft Photo Editor.
Галерея разнообразных графических объектов (Clip Gallery).
Информационная система (MS Info). Она полезна и необходима администратору для сбора информации о компьютерах.
Панель с элементами быстрого поиска (Find Fast Control Panel).
Поддержка почтовой системы Lotus (Lotus VIM Mail Support).
Поиск словоформ в документах WORD (Find All Word Forms).
Создание панели Office 2000 (MS Office Shortcut Bar), позволяющая создавать ярлыки на рабочем столе. Обычно, на эту панель я помещаю и ярлыки других любимых мной приложений.
Уже это простое перечисление показывает, насколько внушителен набор дополнительного инструментария, поставляемого вместе с Office 2000.
В заключение остается сказать о столь же солидном наборе конверторов, позволяющих экспортировать и импортировать текстовые и графические файлы разных форматов, созданных, как в предыдущих версиях Office, так и в других популярных системах.
И еще одно замечание насчет требуемых ресурсов компьютера. Нужно сказать, что у меня довольно скромный компьютер - Pentium 133, 32Mb оперативной памяти и примерно 10Gb дисковой памяти. У меня на компьютере стоит под Windows 95 Office 97 и под Windows NT - Office 2000. По ходу написания книги мне приходилось одновременно работать со многими приложениями Office 2000 - Word, Excel, Access плюс какой-нибудь графический редактор. Нужно сказать, что ресурсов компьютера мне хватало, хотя всегда хочется, чтобы их было больше.
Содержимое диска "Resource Kit"
В моем распоряжении был и такой диск Этот диск содержал два текстовых документа - Issues, ORK9 и три папки - Tools, Policy, Office9 Enterprise White Papers. Коротко скажем о каждом из документов и содержимом папок.
Документ Issues
В этом небольшом одностраничном документе описываются некоторые вопросы установки средств Office 2000. В частности, рассматриваются вопросы корректной установки Internet Explorer 5.0 и настраиваемых сообщений об ошибках.
Документ ORK9
Это большой документ, называемый "Ресурсы Office 2000". Известно, что книги с названием "Ресурсы" всегда являются самыми толстыми среди всех книг, описывающих систему. Поэтому 330 страниц этого документа это почти в три раза меньше соответствующего документа "Ресурсы Office 97".
Авторы документа отмечают, что данная книга не является простым обновлением предыдущей версии, - это заново создаваемый документ. Как обычно, наряду с бумажной версией, которая должна выйти в издательстве Microsoft Press, готовится регулярно обновляемая электронная версия "Ресурсов", которую можно будет найти на сервере.
Книга "Ресурсы" предназначена, прежде всего, сетевым администраторам. Здесь подробно описываются все вопросы инсталляции и развертывания сетевого варианта Office 2000, также как и все используемые для этих целей вспомогательные средства. Именно здесь подробно описываются все инструменты, содержащиеся в выше названных папках этого компакт диска. Она совершенно необходима для тех, кто будет участвовать в установке и поддержке совместной работы Office 2000 в своей организации. Заметим, что конечные пользователи и программисты - разработчики могут обойтись без чтения этой большой книги, хотя, несомненно, и те и другие могут найти в ней много полезного. Например, многих может заинтересовать такой раздел, как "Использование клиентских приложений, связанных с WEB - сервером" и вообще все, что касается работы с сервером, чему в Ресурсах Office 2000 уделяется немалое внимание.
Очень коротко о содержимом инструментальных средств, хранящихся в папках этого диска. Как уже говорилось, общая их направленность состоит в поддержке администратора, отвечающего за установку и функционирование Office 2000 в организации, где эта система используется многими пользователями на многих компьютерах, связанных сетью.
Папка Tools
В папках этой папки собран инструментарий, облегчающий конфигурирование, развертку и настройку Office 2000 в большой организации. Дадим краткую характеристику этих средств:
Три основных мастера работают, как правило, совместно и инсталлируются одновременно.Мастер Инсталляции с Настройкой (Custom Installation Wizard) необходим при сетевой инсталляции системы. Он обладает новыми дополнительными возможностями в сравнении с его предыдущей версии (Network Installation Wizard), поставляемой в Resource Kit 97.
Мастер Создания Профилей (Office Profile Wizard) может работать и независимо. Он позволяет создавать профили различных групп пользователей, в том числе профиль по умолчанию. С его помощью администратор имеет возможность контролировать конфигурации конечных пользователей и обеспечить единую политику в организации.
Мастер инсталляции Internet Explorer 5.0 (Internet Explorer Administrator Kit) позволяет произвести настройку браузера.
В папке Office_Profile_and_Custom_Installation_Wizard достаточно запустить программу Setup и следовать появляющимся инструкциям. Одновременно будут инсталлированы все три выше перечисленные инструмента, которые, как мы уже говорили, обычно работают совместно.
Мастер Профилей 97 (Office 97 Profile Wizard), который находится в одноименной папке, позволяет обезопасить работу с новой версией. Он позволяет сохранить установки Office 97, затем установить версию Office 2000, поработать с ней, поэкспериментировать, затем удалить ее и вернуться к предыдущей версии с сохраненными установками.
Мастер Удаления (Office Removal Wizard) находится в одноименной папке. Позволяет управлять процессом удаления тех или иных компонент предыдущих версий системы. Он может работать независимо, но одновременно входит в состав Мастера Инсталляции.
Построитель Мастера Ответов (Answer Wizard Builder) позволяет осуществлять настройку Мастера Ответов. Известно, что одной из характерных особенностей Office, как и других продуктов Microsoft, является повышение "интеллекта" системы. В рамках этого направления в систему Office включена "интеллектуальная" система получения справки, называемая обычно "Помощник" (Office Assistant). При необходимости получения справки Помощнику можно задавать вопросы на естественном (английском) языке. Средство, стоящее "за спиной" Помощника и называется Мастером Ответов (Answer Wizard). Именно оно производит разбор вопроса и формирует ответ. Понятно, что вопросы, связанные со спецификой конкретной организации, не могут быть поняты Мастером Ответов. Для того, чтобы можно было произвести его настройку, расширив его возможности понимания специфических вопросов и применяется Построитель Мастера Ответов. Такая настройка на специфику характерна для Office 2000. В частности, это касается и настройки выдаваемых сообщений. Такие сообщения - предупреждения называются алертами (Alert).
Потенциально Настраиваемые Сообщения (Customizable Alerts). Это не Мастер Настройки. В одноименной папке находятся примеры активных страниц, размещаемых на сервере (asp-страниц), в которых такая настройка осуществлена. Сама технология настройки описана в документе "Ресурсы Office 2000"
Помощник без анимации (Motionless Assistant) находится в одноименной папке и используется тогда, когда при развертывании системы Office 2000 предварительно оценивается ее производительность. В этом случае при инсталляции нужно использовать Windows Terminal Server окружение и инсталлировать Помощник без анимации, который и будет сопровождать Вас в процессе оценки производительности.
Набор инструментов Excel (Excel Tools) расположен в одноименной папке. В папке tools находятся некоторые средства, ориентированные на конкретное приложение. В частности, в рассматриваемой папке находятся средства, обеспечивающие корректный переход от задания дат в формате, принятом в предыдущих версиях Excel, к формату, обеспечивающем корректную работу в следующем тысячелетии. Среди других полезных утилит здесь есть, например, утилита, поддерживающая корректное восстановление поврежденных документов Excel.
Автономный Просмотр Презентаций (Power Point 97/9 Viewer) позволяет просматривать презентации Power Point предыдущей и настоящей версии, не требуя присутствия самого приложения Power Point.
Папка Policy. В этой папке содержится обновленная версия Редактора Системных Политик (System Policy Editor) и несколько шаблонов политик, обеспечивающих управление средой Office 2000 после ее инсталляции.
Содержимое диска "Language Pack"
Этот диск содержит средства поддержки многоязычной работы приложений Office 2000. Сегодня становится обыденной ситуация, при которой участники, совместно разрабатывающие документы, находятся в разных странах и используют в своей работе разные национальные языки. Office 2000 предлагает новые возможности поддержки такого стиля работы. Здесь можно "на лету" изменять язык окружения Office 2000, - меню и прочее.
Microsoft Office 2000 Developer
Office 2000 поставляется в нескольких вариантах. Разработчики предпочитают иметь полный вариант системы, называемый Office 2000 Developer. Этот вариант включает помимо всего выше перечисленного и весьма полезные средства, специально предназначенные для разработчиков. Они таковы:
COM Add -in Designer. Этот проектировщик COM - объектов позволяет создать и отладить, не покидая окружение Office 2000, Add - In объект в виде DLL. Такие элементы расширяют функциональные возможности, поставляются и распространяются независимо. Ранее их можно было создавать, используя средства, например, Visual C++ или VB, входящие в состав Visual Studio. Теперь это стало доступно и для VBA.
Code Librarian. Эта библиотека повторно используемого кода. Она предназначена для команды разработчиков, совместно использующих создаваемый код как на VBA, так и в Visual Studio. Она представляет централизованную базу данных со специальными средствами поиска, включает также Add -Ins, предназначенные для автоматизации создания документации по программам, средства грамматического разбора строк, обработчики ошибок и другие полезные средства.
Printed Developer Documentation. Сюда включена различная учебная литература, облегчающая разработчикам жизнь. Сюда входят частично библиотека MSDN, полезные статьи, различные примеры решений. Если зашла речь о MSDN, то следует отметить, что через Интернет разработчики могут получать массу полезной информации, используя службу Microsoft Developer Network (MSDN) по адресу: ( http://www.microsoft.com./msdn/). Полезная для разработчиков информация находится также на ежедневно обновляемом узле Office Developer Forum, адрес которого: ( http://www.microsoft.com./offcedev/).
Data Environment Designer. Этот проектировщик облегчает связывание с внешними источниками данных в VBA - программах путем создания специальных форм и элементов управления с ясным визуальным интерфейсом, ориентированном на конечного пользователя.
Data Report Designer. Облегчает разработчикам создание "руками" сложных отчетов, выводимых на печать, без необходимости написания кода.
Data Bound Controls. Облегчает создание интуитивно ясного интерфейса отображения данных за счет использования специально спроектированных элементов управления. Например, элемент Enhanced FlexGrid отображает иерархически связанные данные в интуитивном формате представления в виде дерева.
String Editor. Этот строковый редактор позволяет, например, создавать SQL - запросы. Могу отметить, что в предыдущей версии была проблема, поскольку строки SQL - предложений имеют запутанный синтаксис и всегда возникают проблемы с кавычками. Здесь используется WYSIWIG интерфейс.
Code Commenter. Комментатор кода позволяет автоматически создавать комментарии и заголовки к процедурам, используя настраиваемые шаблоны.
Error Handler. Обработчик ошибок автоматически создает стандартизованный код обработки ошибки, используя настраиваемые шаблоны.
Multi - Code Import/Export. Преобразует разделенный код операций импорта и экспорта в единый код.
Package and Deployment Wizard. Этот Мастер позволяет разработчикам создать пакет для инсталляции и развертывания создаваемого ими приложения. Полезен в том числе и при развертывании приложения на WEB.
Microsoft Replication Manager. Позволяет просматривать и управлять репликами баз данных Microsoft Jet в локальных сетях или Internet.
На этом я хочу закончить этот несколько утомительный обзор того, что входит в состав этого грандиозного здания, называемого Office 2000.
Об этой книге и ...
Несколько слов об этой книге и о наших замыслах, о том проекте, который был выработан совместно с издательством "Русская Редакция". Наша предыдущая книга по Офисному программированию, о которой мы уже упоминали, имела около 700 страниц, что, по нашему мнению, находится на пределе максимально разумного объема для книги. Вместе с тем, тема Office 2000 обширна и хотелось более полно осветить многие уже имеющиеся в Office 97 возможности и, конечно же, рассмотреть новинки Office 2000. Поэтому мы задумали выпустить три книги, объединенных общей темой "Офисное программирование" Первая книга "VBA в Office 2000. Офисное программирование" перед Вами. Две другие книги имеют следующие предварительные названия:
"Объекты Office 2000. Офисное программирование"
"Средства разработчика Office 2000. Офисное программирование"
Последняя из книг этой серии должна содержать компакт-диск, содержащий примеры ко всем трем книгам. В этом плане есть, по крайней мере, одно достоинство, - если Вам не понравится первая книга, то Вы не станете тратиться на покупку остальных книг. Еще один аргумент в пользу такого решения, - у читателей появляется возможность связаться с автором и попытаться повлиять на содержание последующих книг.
В какой мере эти планы осуществятся, покажет жизнь, но первая книга уже написана. Она посвящена, в основном, языку VBA. В книге дается достаточно полное описание языка, начиная от описания переменных до описания построения модулей и проектов. Так что программист, ранее не знакомый с этим языком, прочитав эту книгу, получит возможность ознакомиться со всеми основными конструкциями VBA. Вместе с тем, книга адресована в первую очередь тем, кто уже работает на VBA в среде Office 97 и собирается перейти в среду Office 2000 при ее появлении. Но даже, если он не спешит с переходом, и будет продолжать работать в старом окружении, книга может быть ему полезной. Она может быть полезной и программистам, работающим на языке VB. Ведь речь идет по существу об одном языке, и, как меня поправляли в Microsoft, правильно говорить не о языке VBA 2000, а о языке VB6 в Office 2000. Те, кто знаком с предыдущей книгой, найдут много нового. Прежде всего, в книге подробно рассматриваются новые возможности, появившиеся в VBA 2000. Вот некоторые новые темы, большинство из которых связаны с новыми возможностями:
Семейства классов, связанные наследованием интерфейсов.
Реализация полиморфизма семейства классов.
Программирование Win32 API. Новой появившейся возможностью стала работа с Callback функциями, функциями обратного вызова, что обеспечивает теперь возможность работы с таймером, функциями перечисления.
Программирование семейства документов и системы проектов, связанных общей памятью и общими процедурами.
Новые средства работы со строками, в частности разбора строк.
Моя благодарность
Работу над этой книгой мне пришлось, к сожалению, вести одному. Мой соавтор Михаил Иосифович Дехтярь в период написания этой книги ушел в чистую математику (computer science) и сейчас находится в университете города Нант во Франции. Я приношу ему свою благодарность за те обсуждения, которые состоялись, и за использование материалов нашей совместной книги.