Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК доп_раздел.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
20.74 Mб
Скачать

Особенности vba

Плюсы:

  • Простой и мощный язык;

  • Объекты VBA можно использовать в Delphi, C++;

  • Включен в состав Ms Office;

  • Мощные встроенные интеллектуальные средства (макрорекодер).

Минус: ограниченные возможности наследования.

Объекты и их семейства в vba

Все визуальные объекты Windows являются объектами VBA (около 100 объектов):

  • Рабочие книги (WorkBooks);

  • Рабочие листы (WorkSheets);

  • Диапазоны ячеек (Range);

  • Диаграммы (Charts);

  • Формы (UserForms);

  • Документы Word (Documents) и так далее.

Семейство (объект Colltection) содержит несколько объектов одного и того

же типа, например, семейство рабочих книг, рабочих листов и так далее.

Семейства – это уже имеющиеся в VBA классы.

Иерархия объектов vba

Связь объектов VBA организована в иерархическом порядке. Например, в приложении Excel эта иерархия имеет вид, показанный на рис. 4.

Такая структура удобна для организации ссылок на объекты. Например, полная ссылка на объект будет иметь такой вид:

  • с открыванием приложения, книги, листа Application.WorkBooks(“Архив”).WorkSheets(“Итоги”).Range(“A1”);

  • с открыванием книги и листа (приложение уже открыто)

  • WorkBooks(“Архив”).WorkSheets(“Итоги”).Range(“A1”);

  • с открыванием листа (приложение и книга уже открыты)

  • WorkSheets(“Итоги”).Range(“A1”)

  • с обращением к ячейке (приложение, книга, лист открыты)

Range(“A1”).

Методы и свойства объектов vba

Объектом можно управлять с помощью методов. (Метод – это действие, выполняемое над объектом). Синтаксис метода:

Объект.Метод

Например, командой

Application.Quit

с использованием метода Quit закрывается приложение.

Можно применить метод ко всем объектам семейства. Команда

WorkSheets(“Лист2”).Charts.Delete

с использованием метода Delete удаляет все диаграммы, связанные с Листом2.

Свойство – это атрибут объекта, определяющий его характеристики

(размер, цвет, видимость, положение на экране). Синтаксис установки значения свойства:

Объект.Свойство=ЗначениеСвойства

Например, команда

WorkSheets(“Лист3”).Caption=“Пример”

с использованием свойства Caption (заголовок) присваивает Листу3 имя Пример.

Свойства можно изменять сразу для всего семейства объектов. Команда

WorkSheets.Visible=False

делает невидимыми (скрывает) все рабочие листы.

Событие и отклик на него

Событие – это действие, распознаваемое объектом (например, щелчок мышью по кнопке СОХРАНИТЬ). VBA при этом автоматически создает процедуру отклика:

СОХРАНИТЬ_Click

Задача пользователя – ввести команды, которые должны будут выполняться при щелчке по данной кнопке

1.2.3. Способы создания программ в VBA

При создании проекта VBA можно использовать три способа:

1. Запись макроса с помощью макрорекодера с последующим его редактированием.

2. Создание макроса пользователем в редакторе VBA.

3. Создание проекта в редакторе VBA.

1.2.3.1. Запись макроса с помощью макрорекодера с последующим его редактированием.

Пример 2

Создадим макрос для построения диаграмм продаж комплектующих изделий компьютера согласно табл. 2.

Таблица 2

Решение

1. Создаем в Excel ЭТ согласно табл. 1.

2. Для построения диаграммы выделим ячейки А2:В7

3. Команда создать макрос:

Сервис – Макрос - Начать запись – присвоить имя Диаграмма.

4. Создаем диаграмму с помощью Мастера диаграмм.

5. Остановим запись макроса:

Сервис – Макрос – Остановить запись.

Полученная диаграмма представлена на рис. 5.

6. Проверим работу макроса, построив диаграмму для других данных:

Удалим построенную диаграмму – Выделим А2:В5 - Сервис- Макрос – Макросы – Диаграмма – Выполнить.

Результатом работы макроса будет та же диаграмма рис. 5, хотя мы выделили данные не о пяти, а только о трех устройствах. Причина в том, что макрос сохранил в программе один исходный диапазон (А3:В7), который не меняется вне зависимости от вновь выделяемой области.

Чтобы прочитать, а потом изменить текст программы макроса, выполним команды