- •Оглавление
- •Введение
- •1. Объекты ms Excel
- •1.1. Объекты, их свойства и методы
- •1.1.1. Свойства: присвоение и использование значений
- •1.1.1.1. Присвоение значений
- •1.1.1.2. Использование значений
- •1.1.2. Примеры использования методов рабочей книги Excel
- •1.1.2.1. Вызов метода
- •1.1.2.2. Передача аргумента в метод
- •1.2. Ссылки на одиночные объекты и объекты из семейств
- •1.2.1. Различия между одиночными объектами и объектами из семейств
- •1.2.2. Семейства как объекты
- •1.2.3. Ссылка на объект
- •1.3. Иерархия объектов ms Excel
- •1.3.1. Иерархическая структура
- •1.3.2. Доступ к объектам через свойства и методы
- •1.4. Объект Application
- •1.4.1. Свойства объекта Application
- •1.4.2. Методы объекта Application
- •1.5. Объект Workbook и семейство Workbooks
- •1.5.1. Свойства объекта Workbook и семейства Workbooks
- •1.5.2. Методы объекта Workbook и семейства Workbooks
- •1.5.3. Функции, используемые для работы с файлами и папками
- •1.5.4. Функция MsgBox
- •1.5.5. Функция InputBox
- •1.6. Объект Worksheet
- •1.6.1. Свойства объекта Worksheet и семейства Worksheets
- •1.6.2. Методы объекта Worksheet и семейства Worksheets
- •1.7. Объект Range
- •1.7.1. Свойства объекта Range
- •1.7.2. Методы объекта Range
- •2. Использование переменных в vba
- •2.1. Допустимые имена
- •2.2. Типы данных переменных vba
- •2.3. Описание переменной
- •2.4. Использование переменных
- •2.5. Преимущества переменных
- •2.6. Объектные переменные
- •2.6.1. Задание объектной переменной
- •2.6.2. Объектные переменные общего типа
- •2.6.3. Объектные переменные конкретных типов
- •2.6.4. Преимущества объектных переменных
- •2.7. Неявное описание переменных и тип Variant
- •2.8. Обязательное описание переменных
- •2.9. Типы данных по умолчанию
- •2.10. Пользовательские типы данных
- •3. Массивы vba
- •3.1. Размерность массива
- •3.2. Объявление массива
- •3.3. Использование массива
- •3.4. Номер первого элемента и границы массива
- •3.5. Динамические массивы
- •3.6. Сохранение данных в динамическом массиве при изменении последней размерности
- •3.7. Пять функций для работы с массивами
- •4. Константы
- •5. Вызов одной программы из другой
- •5.1. Фрагментирование кода
- •5.2. Передача данных при вызове программы
- •6. Использование функций в vba
- •7. Область видимости переменных, констант, подпрограмм и функций
- •7.1. Область видимости переменных
- •7.1.1. Переменные уровня процедуры
- •7.1.2. Переменные уровня модуля
- •7.1.3. Переменные уровня проекта
- •7.1.4. Сохраняемые переменные
- •7.1.5. Область видимости подпрограмм и функций
- •7.1.6. Сохраняемые подпрограммы и функции
- •8. Управляющие структуры
- •8.1. Управляющая инструкция If-Then-Else
- •8.2. Управляющая инструкция Select Case
- •8.3. Управляющая инструкция For-Next
- •8.4. Управляющая инструкция For-Each-Next
- •8.4.1. Инструкция For-Each-Next с многомерными массивами
- •8.4.2. Инструкция For-Each-Next с семействами
- •8.5. Управляющая инструкция While-Wend
- •8.6. Управляющая инструкция Do-Loop
- •9. Инструкция With
- •10. Встроенные функции vba
- •10.1. Математические функции
- •10.2. Функции проверки типов
- •10.3. Функции преобразования форматов
- •10.4. Функции обработки строк
- •10.5. Функции времени и даты
- •11. Обработка ошибок
- •11.1. Предотвращение ошибок программными средствами
- •11.2. Обработка ошибок, инструкция On Error
- •12. Разработка пользовательского интерфейса
- •12.1. Форма (UserForm)
- •12.1.1. Вставка формы
- •12.1.2. Основные свойства и методы формы
- •12.1.3. События формы
- •12.2. Элементы управления формы vba
- •12.2.1. Некоторые общие свойства элементов управления
- •12.2.2. Соглашения об именах
- •12.2.3. Некоторые общие методы элементов управления
- •12.2.4. Общие события элементов управления
- •12.3. Кнопка (СоmmandButton)
- •12.4. Поле (TextBox)
- •12.5. Надпись (Label)
- •Начальные условия
- •Выполнение задания:
- •12.6. Список (ListBox)
- •12.6.1. Основные свойства элемента управления ListBox
- •12.6.2. Методы ListBox
- •12.6.3. Заполнение списка
- •12.6.4. Пример создания списка
- •12.6.5. Определение выбранных элементов списка
- •12.7. Поле со списком (ComboBox)
- •12.8. Флажок (CheckBox)
- •12.9. Выключатель (ToggleButton)
- •12.10. Переключатель (OptionButton)
- •12.11. Полоса прокрутки (ScrollBar) и счетчик (SpinButton)
- •12.12. Создание нестандартных меню и панелей инструментов
- •12.12.1. Объект CommandBar и семейство CommandBars
- •12.12.2. Методы объекта CommandBar
- •12.12.3. Свойства объекта CommandBar
- •12.12.4. Семейство CommandBarControls и объект CommandBarControl
- •12.12.5. Пример создания/удаления панели инструментов
- •12.12.5.1.Создание панели инструментов
- •12.12.5.2. Удаление панели инструментов
- •12.12.6. Пример создания/удаления меню
- •12.12.6.1. Создание меню
- •12.12.6.2. Удаление меню
- •13. Обработка событий объектов Workbook и Worksheet
- •13.1. События объекта Workbook
- •13.1.1. Событие Open
- •13.1.2. Событие BeforeClose
- •13.1.3. Событие SheetActivate
- •13.2. События объекта Worksheet
- •13.2.1. Событие Activate
- •13.2.2. Событие Deactivate
- •13.2.3. Событие SelectionChange
- •Библиография
1.3.2. Доступ к объектам через свойства и методы
Вернемся к инструкции
Application.Workbooks(l).Worksheets(l). _ Range("A1").Value = 1
При написании её мы руководствовались иерархией объектов Excel. Однако на самом деле Range – это свойство объекта Worksheets, Worksheets – это свойство объекта Workbooks, который, в свою очередь, является свойством объекта Application. Обращаясь к свойству семейства (Workbooks или Worksheets), мы передаем в него аргумент – порядковый номер нужного нам объекта (1), а обращаясь к свойству Range – его имя (A1).
Таким образом, наряду со свойствами, представляющими собой атрибуты объекта, имеется большой класс свойств (и методов), возвращающих объект. По субъективному мнению автора, свойства, возвращающие объект, гораздо легче воспринимать как объекты, находящиеся на соответствующих уровнях иерархии, как это было сделано в предыдущем параграфе. Однако в окне Просмотр объектов и в справочной системе они отнесены именно к свойствам.
ОБРАТИТЕ ВНИМАНИЕ: у разных объектов бывает одно и то же свойство. Так, свойство Worksheets имеется у объектов Application и Workbooks. В первом случае это свойство возвращает семейство рабочих листов в активной рабочей книге (например,
Worksheets(1).Range("A1).Value = 1),
а во втором – семейство рабочих листов в определенной рабочей книге
(Workbooks(1).Worksheets(1).Range("A1).Value = 1).
1.4. Объект Application
Объект Application располагается на самой верхней ступени иерархии и представляет само приложение Excel. Любое обращение к методу или свойству объекта Application влияет на все приложение Excel. Рассмотрим его основные свойства и методы.
1.4.1. Свойства объекта Application
Свойство |
Описание |
ActiveWorkbook, ActiveSheet, ActiveCell, ActiveChart |
Возвращают активную рабочую книгу, лист, ячейку, диаграмму. Доступно для чтения. В следующем примере в активной ячейке устанавливается полужирный шрифт размером 14 пунктов: With ActiveCell.Font .Size = 14 .Bold = True End With |
ThisWorkbook |
Возвращает рабочую книгу, содержащую выполняющийся в данный момент макрос. Доступно для чтения. |
Caption |
Заголовок окна Excel. String; доступно для чтения/записи. Application.Caption = _ "Мое приложение" Команда: Application.Caption = Empty возвращает заголовок, используемый по умолчанию |
DisplayAlerts |
Управляет выводом на экран встроенных предупреждений Excel во время выполнения программы. True или False; доступно для чтения/записи. Application. _ DispIayAlerts = False |
SheetsInNewWorkbook |
Количество листов в новой рабочей книге. Long, доступно для чтения/записи. Application. _ SheetsInNewWorkbook = 1 |
ScreenUpdating |
Управляет обновлением экрана при выполнении программы. По умолчанию имеет значение True (экран обновляется). Действует только во время выполнения программы, в которой это свойство было изменено. True или False; доступно для чтения/записи. Application. _ ScreenUpdating = False |
WindowState |
Устанавливает размер окна приложения. Доступно для чтения/записи. Может принимать одно из значений:
Application.WindowState = _ xlNormal |
DisplaystatusBar |
Управляет отображением и сокрытием строки состояния. True или False; доступно для чтения/записи. Application. _ DisplayStatusBar = False |
DisplayFormulaBar |
Управляет отображением и сокрытием строки формул. True или False; доступно для чтения/записи. Application. _ DisplayFormulaBar = False |
