Опубликован: 13.09.2006 | Уровень: для всех | Доступ: свободно | ВУЗ: Тверской государственный университет
Лекция 1:

Введение

Лекция 1: 123 || Лекция 2 >
Аннотация: Введение. Об Office 2000. Офисное программирование. Состав Office 2000. Инсталляция Office 2000. Содержимое диска "Resource Kit". Документ Issues. Документ ORK9. Папка Tools. Содержимое диска "Language Pack". Microsoft Office 2000 Developer. Об этой книге. Моя благодарность.

Об 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 недостаточно. Вообще должны одновременно существовать различные программные среды, операционные системы, любимые теми или иными программистами. Лучшая позиция программиста должна состоять не в противопоставлении, а в сотрудничестве. Именно поэтому мне кажутся важными идеи компонентного программирования, где вырабатывается стандарт взаимодействия компонент, создаваемых в разных программных средах, на разных языках, на разных платформах и находящихся на разных машинах.

Лекция 1: 123 || Лекция 2 >
полина есенкова
полина есенкова
Дмитрий Вологжин
Дмитрий Вологжин
Добрый день, прошел тесты с 1 по 9, 10 не сдал, стал читать лекцию и всё пройденные тесты с 1 по 9 сбросились, когда захотел пересдать 10 тест.
Андрей Гуменюк
Андрей Гуменюк
Молдова