![](/user_photo/2706_HbeT2.jpg)
- •Шеверева е.А. Лекция № 2 по дисциплине 5422 «Средства разработки офисных приложений»
- •План лекции:
- •Текст лекции
- •1 Обзор моделей объектов
- •1.1 Иерархия или модель объектов
- •1.2. Свойства и методы
- •1.3. Связь модели объектов с пользовательским интерфейсом
- •1.4. Объекты-наборы
- •2.1. Получение ссылки на объект
- •2.2. Вызов свойств и методов объекта
- •2.3. Инструментальные средства Visual Basic
- •3 Программирование объектов другого приложения
2.2. Вызов свойств и методов объекта
Получив ссылку на нужный объект, можно установить атрибуты этого объекта или выполнить над ним какие-то операции, используя его свойства и методы. При этом точка (.) отделяет выражение, возвращающее ссылку на объект, от имени свойства или метода объекта.
Свойства и методы могут принимать аргументы, управляющие их поведением.
Чтобы добраться до нужных данных приложения, необходимо пройти несколько уровней модели объектов.
2.3. Инструментальные средства Visual Basic
В большинстве случаев определить нужный объект, свойство или метод достаточно сложно, но в приложениях Office предусмотрен ряд инструментальных средств, которые могут помочь при формировании программы для выполнения необходимых операторов. К таким инструментальным средствам можно отнести запись макроса. Данная операция транслирует последовательность действий с пользовательским интерфейсом в набор инструкций Visual Basic. Хотя полученный таким образом код дает представление о необходимых свойствах или методах, все же не стоит его использовать без редактирования, так как код, генерируемый при записи макроса, не слишком эффективен и надежен. Часто код, полученный при записи макроса, работает корректно лишь в том случае, если выделен или активизирован определенный объект. Код будет надежнее и гибче, если проход по модели объектов в нем не начинается с выделенного или активизированного объекта. Чтобы улучшить записанный код, можно воспользоваться справочной системой Visual Basic для любого приложения Office, которая содержит разделы по каждому объекту, свойству, методу и событию в модели объектов. Для того, чтобы по имени объекта определить его содержимое и функциональность, необходимо его активизировать и открыть раздел справочной системы с подробной информацией о нем. Разделы справочной системы, посвященные конкретным объектам, содержат:
схему (в верхней части раздела), отражающую наиболее значимые объекты, расположенные непосредственно выше и ниже данного объекта в иерархии (модели объектов). Активизировав любой объект на схеме, можно получить подробную информацию о нем;
описание содержимого и функциональных возможностей объекта;
инструкции и примеры, поясняющие, как добраться до этого объекта в иерархии и работать с его свойствами и методами. Код из раздела справочной системы можно копировать в свою программу;
гипертекстовые ссылки в верхней части раздела, с помощью которых можно открывать списки свойств и методов объекта.
В разделах справочной системы по отдельным свойствам или методам описывается содержимое или функциональность, доступ к которым обеспечивает конкретное свойство или метод, а также приведены ссылки на примеры их использования. Можно скопировать код из раздела справочной системы (в буфер обмена) и вставить его в свой модуль.
У каждого приложения office есть файл – библиотека объектов или библиотека типов; в нем содержится информация об объектах, свойствах, методах, событиях и встроенных константах, предоставляемых данным приложением. Для просмотра содержимого файла и описываемой им модели объектов можно использовать средство просмотра объектов – Object Browser. Для просмотра полного списка объектов из всех библиотек, на которые есть ссылки, предусмотрена строка верхнего списка <All Libraries> (<Все библиотеки>), а для просмотра объектов из отдельной библиотеки следует выбрать в том же списке строку, содержащую название соответствующего приложения. Если такая библиотека отсутствует в списке, необходимо создать ссылку на нее в диалоговом окне References (Ссылки), которое открывается одноименной командой из меню Tools (Сервис).
В списке Classes (Классы) отображаются имена объектов и перечислимых типов из всех библиотек, на которые есть ссылки. Класс – это тип, или описание объекта, а объект – фактический экземпляр класса. Активизировав имя объекта в списке Classes (Классы), в списке Members Of (Компонент) отображаются все свойства, методы и события, связанные с данным объектом. Событие – это действие, распознаваемое объектом, например, щелчок мыши или нажатие клавиши. Активизировав имя свойства или метода в списке Members Of (Компонент), можно получить справку по выделенному ключевому слову с помощью кнопки F1 или в нижней секции окна Object Browser (Просмотр объектов), в которой сообщается синтаксис, тип свойства («только чтение» или «чтение/запись»), имя библиотеки, к которой относится объект, и тип данных, возвращаемых свойством или методом. Если какое-то слово в нижней секции выделено зеленым цветом и подчеркнуто, значит это ссылка, с помощью которой можно получить более подробную информацию. Ссылки позволяют выяснить, как добраться до того или иного объекта. Нижняя секция полезна и тех случаях, когда неизвестен точный синтаксис – имена и порядок аргументов – данного свойства или метода, а также какие аргументы необязательны.
При наличии ссылок на несколько библиотек, содержащих определенные объекты, в диалоговом окне Object Browser (Просмотр объектов) появляются дублирующие друг друга имена – если в верхнем списке выбрана строка <All Libraries> (<Все библиотеки>). Различить дубликаты можно, выделив одни из них и обратившись к нижней секции окна, где будет показано, к какой библиотеке относится выделенное ключевое слово.
В среду разработки встроено множество средств, помогающих писать выражения и операторы Visual Basic. Для включения и отключения этих средств в редакторе Visual Basic (Microsoft Excel, Word или Power Point) следует пометить (снять пометку) соответствующие флажки (таблица 2.1) в разделе Code Settings (Параметры программирования) на вкладке Editor (Редактор) диалогового окна Options (Параметры), которое открывается с помощью одноименной команды мены Tools (Сервис).
Таблица 2.1 - Назначение флажков диалогового окна Options (Параметры)
Параметр |
Действие |
Auto Syntax Check (Проверка синтаксиса) |
Указывает Visual Basic, надо ли автоматически проверять синтаксис после ввода очередной строки кода |
Require Variable Declaration (Явное описание переменных) |
Определяет, требуется ли явное объявление переменных в модулях. Если этот флажок активен, в раздел общих объявлений каждого нового модуля автоматически вставляется оператор Option Explicit |
Auto List Member (Список компонентов) |
Открывает список и информацией, которая позволяет логически закончить оператор в текущей позиции курсора ввода |
Auto Quick Info (Краткие сведения) |
Выводит информацию о функциях и их параметрах в процессе набора текста |
Auto Data Tips (Подсказки значений данных) |
Отображает значение переменной, поверх которой находится курсор мыши. Это средство действует только при пошаговом исполнении программы |
Auto Indent (Автоотступ) |
При нажатии клавиши Enter автоматически повторяет отступ предыдущей строки. Таким образом, все последующие строки сдвигаются вправо на одно и то же расстояние. Для удаления автоотступов используется клавиша Backspace |
Tab Width (Интервал табуляции) |
Устанавливает размер табулятора в диапазоне от 1 до 32 пробелов (по умолчанию – 4) |
Эти инструменты автоматически отображают информацию и предоставляют соответствующие варианты выбора на каждом этапе ввода выражения или оператора. Кроме того, в построении выражений в любой момент помогут такие команды в контекстном меню для модуля, как List Properties/Methods (Список свойств/методов), List Constants (Список констант), Quick Info (Сведения), Parameter Info (Параметры) или Complete Word (Завершить слово).
Когда в одном приложении создается объектная переменная, ссылающаяся на объект другого приложения, Visual Basic должен проверить, что этот объект существует, и что его свойства и методы заданы правильно. Такая проверка называется связыванием (binding). Связывание может проходить в период выполнения программы (позднее связывание) или на этапе компиляции (ранее связывание). Программа с поздним связыванием выполняется медленнее, чем программа с ранним связыванием. Кроме того, многие вспомогательные средства, встроенные в среду разработки, работают только при использовании раннего связывания.
Чтобы добиться раннего связывания кода, необходимо:
установить ссылку на библиотеку типов, содержащую используемые объекты. Это осуществляется с помощью диалогового окна References (Ссылки);
объявить тип объектных переменных в явном виде. Не следует объявлять ее как универсальный тип Object;
если в программе используются объекты из нескольких библиотек типов, то при объявлении объектной переменной указывается имя приложения (особенно если в этих библиотеках есть одноименные объекты).
Если свойство или метод, применяемые для получения ссылки на объект, возвращают не конкретный объектный тип, а универсальный тип Object, следует пойти на дополнительные меры, чтобы гарантировать для программы раннее связывание и возможность работы со средствами, помогающими в написании операторов.
После ввода объектной переменной и следующей за ним точки, команда List Properties/Methods (Список свойств/методов) предложит на выбор свойства и методы объекта Worksheet, на который ссылается эта переменная.