- •Введение в язык макрокоманд vba.
- •Типы данных
- •Описание констант
- •Описание переменных
- •Правила присвоения имен в языке Visual Basic
- •Старшинство операторов
- •Типы макросов.
- •Инструкции присвоения
- •Организация ветвлений. Инструкция If...Then...Else
- •If условие Then [инструкции] [Else инструкции_else]
- •Инструкция Select Case
- •Ввод и вывод информации
- •InputBox(текстовая_строка, заголовок)
- •Циклы в программе
- •Инструкция For...Next
- •Инструкция For Each...Next
- •Инструкция While….Wend
- •Объекты. Свойства. Методы.
- •Объект.Метод Инструкция Set
- •Application.Workbooks("Отчет").Worksheets("Май").Rows(2).Delete
- •Объекты Microsoft Excel
- •Объект Application
- •Объект Workbook. Свойства и Методы.
- •Объект Range
- •Строковые ссылки в стиле а1 или имена диапазонов
- •Числовые индексы строк и колонок
- •Свойства NumberFormat и WrapText
- •Свойство Offset
- •Свойства CurrentRegion и UsedRange
- •Объект Font
- •Объект Interior
Объект.Метод Инструкция Set
В Excel имеется много объектов, причем некоторые из них содержат другие объекты. Например, рабочая книга содержит рабочие листы, рабочий лист содержит диапазон ячеек и т.д. Поэтому иногда ссылки являются громоздкими, чтобы упростить читаемость программы, а также облегчить ее написание, следует использовать инструкцию Set.
Инструкция Set присваивает ссылку на объект переменной или свойству.
Например, следующее выражение очищает вторую строку рабочего листа Май в рабочей книге Отчет
Application.Workbooks("Отчет").Worksheets("Май").Rows(2).Delete
Если вспомнить, что строка содержит отдельные ячейки, свойства которых тоже можно устанавливать, то выражение становится еще длиннее:
Аppiication.WorkBooks("Отчет").WorkSheets("Май").Rows(2).Cells(1).Value = "Да"
Таким образом, ссылки на объекты могут быть слишком громоздкими. Если данный объект часто используется в программе, то разумно создать объектам переменную с помощью команды set. Например, предыдущий пример можно записать в следующем виде:
Dim R As Object
Set R = Application.WorkBooks("Отчет").Sheets("Май").Rows(2).Cells(1)
R.Value = "Да"
Объекты Microsoft Excel
Visual Basic поддерживает набор объектов, соответствующих элементам Microsoft Excel. и с большинством из них вы знакомы, если работали с пользовательским интерфейсом этого приложения. Например, объект Workbook представляет книгу, объект Worksheet — рабочий лист, объект Range — диапазон ячеек. Каждый элемент Microsoft Excel — книга, лист, диаграмма, ячейка и т. д. — можно представить в Visual Basic объектом. Создавая процедуры, управляющие этими объектами, можно автоматизировать выполнение операций в Microsoft Excel. Схему модели объектов Microsoft Excel следует найти в разделе «Microsoft Excel Objects» справочной системы. Модель является наиболее зрелой. Здесь более 100 объектов и семейств. Вероятно окажется, что приблизительно 10 процентов объектов и семейств достаточно, чтобы выполнить более 90% всех возможных действий.
Объект Application
В Excel имеется много объектов, причем некоторые из них содержат другие объекты. Например, рабочая книга содержит рабочие листы, рабочий лист одержит диапазон ячеек и т. д.
Объектом самого высокого уровня является Application (приложение). Если изменить его свойства или вызвать его методы, то результат применяется к текущей работе Excel. Например, можно завершить работу с Excel, применив метод Quit (выход) к объекту Application:
Application.Quit
Кроме того, свойства объекта Application обеспечивают доступ к «нижестоящим» объектам в иерархии, например, к набору Windows (представляющему все открытые в данный момент окна) или набору Workbooks (представляющему все открытые в данный момент рабочие книги). Такие свойства, иногда называемые аксессорами, позволяют проходить по иерархии объектов от вершины (Application) до объектов более низких уровней (Workbook, Worksheet, Range и т. д.).
Некоторые свойства и методы, применимые к объекту Application, применимы и к объектам, расположенным на более низких уровнях иерархии. Использование подобных свойств или методов на уровне Application обычно приводит к изменению всех открытых рабочих книг или листов. Например, метод Calculate применим к объектам Application, Workbook и Worksheet. Выражение Application.Calculate вызывает пересчет данных на всех рабочих листах во всех открытых книгах, а применение этого метода к объектам Workbook или Worksheet позволяет соответственно сузить масштабы пересчета.
