- •Министерство образования российской федерации
- •М инистерство образования российской федерации
- •Аннотация
- •Содержание
- •Тема 1. Основы программирования
- •Создание, редактирование и запуск программ
- •Переменные, константы и типы данных
- •Управляющие конструкции
- •Управляющая конструкция If…Then позволяет выполнять один или несколько операторов, если условие истинно. Можно использовать однострочный и блочный синтаксис. Например:
- •Тема 2. Введение в модели объектов
- •2.1. Обзор моделей объектов
- •2.2. Автоматизация операций с использованием объектов
- •2.3. Программирование объектов другого приложения
- •Тема 3. Объекты Microsoft Office
- •3.1. Объекты Microsoft Access
- •3.2. Объекты Microsoft Excel
- •3.3. Объекты Microsoft Power Point
- •3.4. Объекты Microsoft Word
- •Тема 4. Меню и панели инструментов
- •4.1. Средства настройки пользовательского интерфейса
- •4.2. Выбор подходящих элементов пользовательского интерфейса
- •4.3. Система меню
- •4.4. Модификация системы меню на этапе разработки
- •4.5. Модификация системы меню в период выполнения
- •4.6. Панели инструментов
- •4.7. Модификация панелей инструментов на этапе разработки
- •4.8. Модификация панелей инструментов в период выполнения
- •Тема 5. Элементы управления на базе ActiveX и диалоговые окна
- •5.1. Разработка нестандартных диалоговых окон
- •5.2. Использование нестандартных диалоговых окон
- •5.3. Работа с элементами управления в документе, листе или на слайде
- •Тема 6. Оптимизация кода
- •6.1. Основные принципы оптимизации кода
- •6.2. Оптимизация кода для Microsoft Excel
- •6.3. Оптимизация кода для Microsoft Word
- •Тема 7. Отладка и обработка ошибок
- •7.1. Создание обработчика ошибок
- •7.2. Иерархия обработчиков ошибок
- •7.3. Тестирование обработчика за счет эмуляции ошибок
- •7.4. Строчная обработка ошибок
- •7.5. Отключение обработки ошибок
- •7.6. Общие принципы отладки
- •7.7. Режимы конструктора, выполнения и прерывания
- •7.8. Окна отладки
- •7.9. Просмотр стека вызовов
- •Тема 8. Разработка приложений для Интернета и Word Wide Web
- •8.1. Термины и концепции, связанные с Интернетом
- •8.2. Работа с гиперссылками
- •8.3. Сохранение документов и объектов в формате html
- •8.4. Элемент средства просмотра Web Microsoft
- •8.5. Элемент управления Internet Transfer
- •Указывать допустимый сервер-заместитель в свойстве AccessType элемента управления Internet Transfer (таблица 8.4);
- •Элемент управления Internet Transfer автоматически настраивается на нужный протокол, заданный в первой части url. Поэтому применение метода OpenUrl или Execute не требует установки свойства Protocol.
- •8.6. Элемент управления WinSock
- •8.7. Создание персонального Web-сервера
- •Тестовые задания для закрепления материала учебного пособия
- •Рекомендуемая литература
- •Б) дополнительная литература
Тема 2. Введение в модели объектов
Объекты – фундаментальные строительные блоки приложений Microsoft Office , практически все, что делается на Visual Basic, не обходится без операций над объектами. Любая единица обрабатываемой информации – рабочая книга, рабочий лист, документ, фрагмент текста, слайд и т.д. – все это объекты, которыми можно управлять программно на Visual Basic. Усвоив принципы работы с объектами, можно автоматизировать любые операции, выполняемые в Office.
2.1. Обзор моделей объектов
2.1.1. Иерархия или модель объектов
В любом приложении Office две основные составляющие: содержимое (content) и функциональные возможности (functionality). Содержимое – это документы, обрабатываемые приложением, и их элементы: слова, числа, графика; сюда же относится и информация об атрибутах отдельных элементов (размер окна документа, цвет изображения или размер шрифта того или иного слова). Под функциональными возможностями подразумеваются способы работы с содержимым – например: открытие, закрытие, добавление, удаление, копирование, вставка, редактирование или форматирование его элементов.
Содержимое и функциональность приложения разбиваются на дискретные единицы, называемые объектами. Некоторые объекты уже известны как элементы пользовательского интерфейса: рабочие книги, рабочие листы и диапазоны ячеек Microsoft Excel; документы и разделы Word; презентации и слайды Power Point.
Объектом приложения верхнего уровня обычно служит объект Application, представляющий само приложение. Например, в модели объектов Microsoft Excel таковым является сам Microsoft Excel. Объект Application содержит другие объекты, доступ к которым возможен только в тот период, когда существует объект-приложение (т.е. при выполнении приложения). Так, объект Application Microsoft Excel содержит объекты Workbook, а объект Application Word – объекты Document. Поскольку существование объекта Document зависит от существования объекта Application Word, принято говорить, что объект Document – потомок объекта Application, и наоборот, объект Application – предок объекта Document.
У многих объектов-потомков есть свои потомки. Например, объект Workbook Microsoft Excel содержит набор объектов Worksheet (или является их предком); этот набор представляет все листы рабочей книги. У объекта-предка может быть несколько потомков – например, у объекта Window в Word есть объекты-потомки Panes, Selection и View. По аналогии у потомка может быть несколько предков, в частности объект-набор Windows в Word – потомок как объекта Application, так и объекта Document.
Взаимосвязь объектов, составляющих приложение, вкупе с тем, как содержимое и функциональные возможности приложения распределяются между объектами, называют иерархией объектов, или моделью объектов.
Каждый объект в иерархии включает в себя не только объекты более низких уровней, но и их содержимое и функциональность. Чем выше объект в иерархии, тем больше его содержимое и шире функциональные возможности. Например, в Microsoft Excel объект Application содержит размер окна приложения и позволяет завершить работу приложения, объект Workbook содержит имя файла и формат рабочей книги и позволяет сохранить ее, а объект Worksheet содержит имя рабочего листа и позволяет удалить рабочий лист.
Зачастую, чтобы добраться до содержимого файла (например, до значений на рабочем листе Microsoft Excel или текста в документе Word) необходимо пройти несколько уровней иерархии объектов; все дело в том, что эта специфическая информации относится лишь к конкретной части приложения. Иначе говоря, значение в какой-либо ячейке рабочего листа относится к этой ячейке, а не ко всем ячейкам рабочего листа, и поэтому его нельзя хранить непосредственно в объекте Worksheet. Таким образом, содержимое и функциональность, заключенные в объекте, ограничиваются сферой его действия.
Очень важно четко понимать место конкретного объекта в модели объектов, так как нельзя работать с ним, не пройдя по иерархии объектов. Обычно это означает, что для доступа к объекту нужно последовательно пройти все объекты, расположенные в иерархии выше него.
Итак, содержимое и функциональные возможности приложения распределяются между объектами в его модели объектов. В совокупности объекты этой иерархии определяют все содержимое и всю функциональность приложения, а отдельные объекты обеспечивают доступ лишь к конкретным функциональным возможностям и к каким-то частям содержимого.
2.1.2. Свойства и методы
Свойства и методы предназначены для доступа к содержимому и функциональности объекта. В примере для Microsoft Excel, приведенном ниже, свойство Value объекта Range используется для просмотра значения в ячейке B3 на рабочем листе Sales из рабочей книги Current.xls:
Workbook(“Current.xls”).Worksheets(“Sales”).Range(“B3”).Value = 3
Свойство Bold объекта Font позволяет изменить начертание шрифта в ячейке B3 рабочего листа Sales на полужирное:
Workbook(“Current.xls”).Worksheets(“Sales”).Range(“B3”).Font.Bond=True
Пример для Word, где метод Close объекта Document применяется для закрытия файла Draft 3.doc:
Document(“Draft 3.doc”).Close
В общем случае свойства используются для доступа к содержимому, которое может включать в себя текст, хранящийся в объекте, или значение атрибута объекта, а методы – для доступа к функциональным возможностям, под которыми понимается все, что разрешается делать с содержимым. Но такое различие существует не всегда: в любой модели объектов есть свойства и методы – исключения из данного правила.
2.1.3. Связь модели объектов с пользовательским интерфейсом
С объектами приложения можно взаимодействовать двумя способами: вручную (через пользовательский интерфейс) и программно (посредством того или иного языка программирования). В первом случае, чтобы добраться до блока приложения, управляющего нужными данными или командами можно использовать клавиатуру или мышь, или и то, и другое. Но программируя на Visual Basic, следует пройти по иерархии объектов, «спускаясь» с объекта верхнего уровня до объекта, включающего в себя нужное содержимое и функциональность, и воспользоваться его свойствами и методами.
Так как пользовательский интерфейс и Visual Basic – это два способа доступа к одним и тем же содержимому и функциональности, имена многих объектов, свойств и методов совпадают с названиями элементов пользовательского интерфейса, а общая структура модели объектов напоминает структуру пользовательского интерфейса. Это значит также, что для любой операции, которую можно выполнить через пользовательский интерфейс, существует эквивалентный код на Visual Basic.
2.1.4. Объекты-наборы
Изучая схемы модели объектов, можно заметить, что имена объектов обычно имеют единственное и множественного значение одного и того же имени объекта, например, «Documents (Document)» или «Workbooks (Workbook)». В таких случаях первое слово (обычно во множественном числе) – это имя объекта-набора (collection object). Набор представляет собой объект, содержащий группу родственных объектов. С объектами-наборами можно работать не только по отдельности, но и как с единой группой. Второе слово (обычно в единственном числе и в скобках) относится к именам объектов, составляющих набор. В Word, например, можно использовать набор Documents для работы с объектами Document как с единой группой.
Хотя и Documents, и Document – объекты разные, каждый со своим набором свойств и методов, на многих схемах моделей объектов их объединяют для упрощения схемы. Объект-набор можно использовать для доступа к отдельным объектам в наборе – обычно посредством метода или свойства Item. В следующем примере для Power Point свойство Item набора Presentations применяется, чтобы активизировать презентацию Trade Show, а потом закрыть ее. Другие открытые презентации при этом остаются открытыми:
Presentations.Item(“Trade Show”).Close
Свойство или метод Item в большинстве наборов используется по умолчанию. Поэтому следующая строка кода эквивалентна предыдущей:
Presentations(“Trade Show”).Close
Кроме того, можно создавать и добавлять к набору новые элементы – обычно методом Add этого набора. Например, чтобы создать в Word новый документ на основе шаблона Normal (Обычный), необходимо указать следующее:
Documents.Add
Число объектов в наборе можно определить свойством Count. В следующем примере Microsoft Excel выводит сообщение, если открыто более трех рабочих книг:
If Workbook.Count > 3 Then MsgBox “More that 3 workbooks are open”
Наборы полезны и для других целей. Они, например, позволяют выполнять операции над всеми объектами набора. Для этого следует перебирать все элементы набора с помощью операторов For Each … Next или For … Next.