- •Введение в Visual Basic For Applications
- •Создание макроса для Microsoft Excel/Visual Basic for Windows 95
- •Объекты, свойства и методы vba
- •Типы данных
- •Встроенные типы данных
- •Переменные и их объявление
- •Объявление численных и строковых переменных
- •Объявление переменных массива
- •Объявление и присваивание объектных переменных
- •Арифметические и логические операции Visual Basic
- •Использование встроенных функций Visual Basic
- •Математические функции
- •Строковые функции
- •Операторы Оператор присваивания
- •Операторы условного перехода If - Then и If-Then-Else
- •Оператор выбора Select Case
- •Логически прерываемые
- •Диалоговые окона Встроенные диалоговые окона
- •Применение функции MsgBox()
- •Создание простого окна сообщения
- •Добавление командных кнопок в окно сообщения для создания диалогового окна
- •Получение значений от функции MsgBox
- •Запись заголовка в диалоговое окно
- •Применение функции InputBox
- •Применение диалоговых окон других типов
- •Диалоговые окна приложения
- •Диалоговые окна пользователя
- •Добавление новой страницы диалога.
- •Помещение объектов в бланк.
- •Отображение диалогового окна пользователя.
- •Подключение процедур к объектам диалогового окна пользователя.
- •Объекты диалогового окна пользователя.
- •Объект «Командная кнопка».
- •Объект «Метка».
- •Объект «Окно редактирования».
- •Объект «Групповое окно».
- •Объект «Контрольный индикатор».
- •Объект «Кнопка выбора».
- •Объект «Окно списка».
- •Элементы управления диалоговых окон
- •Работа с файлами
- •Файлы последовательного и произвольного доступа
- •Чтение и запись последовательных файлов
- •Чтение и запись файлов произвольного доступа
- •Реорганизация данных в файле произвольного доступа
- •Создание пользовательских объектов Определение пользовательского объекта
- •Создание пользовательских свойств
- •Коммуникации Технология dde Что такое dde ?
- •Применение dde.
- •Открытие коммуникационного канала dde.
- •Закрытие канала dde.
- •Технология ole
Объекты, свойства и методы vba
Одним из основных объектов VBA является объект. Объект – это то, чем вы управляете с помощью программы на языке VBA, например, диалог, рабочий лист, диапазон ячеек . Каждый объект обладает некоторыми характеристиками или свойствами. Например, диалог может быть видимым и не видимым в данный момент на экране. Можно узнать текущее состояние диалога с помощью свойства Visible. Другим примером свойства объекта может быть шрифт, используемый для отображения информации в ячейке (объекте) рабочего листа. Изменяя свойства, вы можете менять характеристики объекта.
Объект содержит также список методов которые к нему применимы. Методы – это то, что вы можете делать с объектами. Например, показать диалог на экране или убрать его можно с помощью методов Show и Hide, соответственно.
Таким образом, объект это программный элемент, который имеет своё отображение на кране, содержит некоторые переменные, определяющие его свойства, и некоторые методы для управления объектом. Объект является “кирпичиком” построения программы VBA. В VBA имеется много встроенных объектов, например:
Range – диапазон ячеек (может включать только одну ячейку)
Cells – ячейка
Sheet – лист
WorkSheet – рабочий лист
DialogSheet – диалоговое окно.
Большинство объектов принадлежит к группе подобных объектов. Эти группы называются наборами. Например, все рабочие листы рабочей книги образуют набор, называемый WorkSheets. Набор используется одним из двух способов: либо какое-либо действие совершается над всеми объектами набора, например, удалить, либо со ссылкой на набор выбирается конкретный объект для работы с ним. Второй способ реализован в следующей конструкции:
WorkSheets (“Первый”),
выбирающей рабочий лист Первый из рабочей книги. Другими примерами наборов являются:
Sheets - лист
DialogSheet - диалоговые окна
DrawingObjects - графические объекты.
Изменяя свойства, можно изменять характеристики объекта или набора объектов. Установка значений свойств – это один из способов управления объектами. Для установки свойств необходимо ввести имя объекта, затем поставить точку и за ней – имя свойства. Далее должен следовать знак равенства и значение свойства. Синтаксис установки значения свойства объекта выглядит следующим образом:
Объект. Свойство = Выражение
В приведённом ниже примере для свойства Value диапазона ячеек Начальные_данные устанавливается значение 0,1 (т.е. в ячейках этого диапазона будет записано число 0.1):
Range (“Начальные_данные”). Value = 0.1
В следующем примере в ячейку А2 вставляется формула путём изменения свойства Formula (формула):
Range (“А2”). Formula ”= СУММА (А1 : С1)”
Некоторые свойства являются неизменяемыми, т.е. допустимыми только для чтения. Имеется в виду, что значение свойства можно узнать, но нельзя изменить. Например, для диапазона, состоящего из одной ячейки, свойства Row (строка) и Column (столбец) являются неизменяемыми. Другими словами, можно узнать, в какой строке и в каком столбце находится ячейка, но изменить её положение путём изменения этих свойств нельзя. Синтаксис чтения свойств объекта выглядит следующим образом:
Переменная = Объект. Свойство
В следующем примере переменной Процентная_ставка присваивается значение из ячейки А1 текущего рабочео листа:
Процентная_ставка = Range (“А1”).Value
или другим способом:
Процентная_ставка = cells (1,1).Value
Кроме свойств, как уже отмечалось выше, у объектов есть ряд методов, т.е. команд, применяемых к объекту. Например, у объекта – диапазон ячеек – имеется метод Clear, позволяющий очистить содержимое диапазона. Приводимый ниже пример показывает, как можно очистить диапазон Начальные_данные:
Range (“Начальные_данные”). Clear
А в примере
Range (“А10 : В12”).Select,
выбирается диапазон ячеек А10 : В12. Таким образом, синтаксис вызова объекта имеет следующий вид:
Объект. Метод
В Excel имеется много объектов, причем некоторые из них содержат другие объекты. Например, рабочая книга содержит рабочие листы, рабочий лист содержи диапазон ячеек и т. д. Объектом самого высокого уровня является Application (приложение). Если вы изменяете его свойства или вызываете его методы, то результат применяется к текущей работе Excel. Например, можно завершить работу в Excel, применив метод Quit (выход) к объекту Application:
Application. Quit
Как было отмечено, точка после объекта указывает на то, что далее следует имя свойства или метода. Но после точки можно указать и имя объекта для перехода от одного объекта к другому. Например, следующее выражение очищает вторую строку рабочего листа Май в рабочей книге Отчет:
Application. Workbooks (“Отчет”). Worksheets (“Май”). Rows (2). Delete
Определение имени приложения:
Application. Name
Если вспомнить, что строка содержит отдельные ячейки, свойства которых тоже можно устанавливать, то выражение становится ещё длиннее:
Application. Workbooks (“Отчет”). Sheets (“Май”). Rows (2). Cells (1). Value = “Да”
Таким образом ссылки на объекты могут быть слишком громоздкими. Если данный объект часто используется в программе, то разумно создать объектную переменную с помощью команды Set. Например, предыдущий пример можно записать в следующем виде:
Dim R As Object
Set R = Application. Workbooks (“Отчет”). Sheets (“Май”). Rows (2). Cells (1)
R.Value = “Да”
Приводимые выше примеры можно записать гораздо короче:
Можно не писать имя объекта Application, т. к. это подразумевается по умолчанию;
При работе с подобъектом уже активизированного объекта нет необходимости указывать содержащий его объект;
VBA использует некоторые свойства и методы, которые возвращают объект, к которому они относятся.
Использование последнего обстоятельства позволяет быстро указывать нужный объект. Так, в следующем примере устанавливается значение активной ячейки
ActiveCells. Value = “Да”
ActiveCells (активная ячейка), ActiveSheet (Активный лист), ActiveWorkBook (активная рабочая книга) и Selection (выбор – указывает на выбранный объект) являются примерами свойств, возвращающих объект.
