Еще раз повторяю вопрос - отправил договор и сканы документов по почте - в начале августа, до 5 го, внес предоплату - летом действовала скидка - чтобы пройти курс в августе, но я уезжал в Москву. По возвращению - и в течение месяца - никакого ответа, никаких зачислений, ничего. Как проверить, пришли ли мои документы в Интуит, предоплата, почему нет зачисления. |
Объекты MS Excel
Все офисные приложения можно рассматривать как совокупность объектов. Объектами являются сами приложения Application (центральный или корневой объект) и их компоненты (вложенные объекты).
Примеры объектов: рабочий лист Worksheet, рабочая книга Workbook, диаграмма Chart, рамка Border. Доступ к интервалам ячеек возможен только как к объектам Range, например, объект Range("A1") представляет ячейку A1. Каждый элемент меню, каждая командная кнопка, любой элемент рабочего листа являются объектами MS Excel.
С точки зрения программирования в среде VBA объект обладает свойствами и методами. Свойства описывают объект, а методы позволяют управлять объектом.
В VBA возможны три типичные действия c объектами:
- проверка свойств объекта;
- изменение объекта посредством модификации его свойств;
- выполнение методов объекта.
Подробно структура объектов, синтаксис свойств и методов, перечень событий рассмотрены в разделе Microsoft Excel Object Model книги под названием Microsoft Excel Visual Basic Reference справочника по VBA (Help).
Свойства объектов
Свойства объекта это атрибуты объекта. Каждый объект может иметь десятки свойств, например, объект Worksheet имеет 52 свойства.
Свойства делятся на две группы:
- свойства-участники ( accessors ), представляющие вложенные объекты;
- терминальные свойства ( terminals ), задающие характеристики объекта или его состояние.
Свойства-участники позволяют добраться до объекта, находящегося на любом уровне вложенности. Например, в записи Application.ActiveWorkbook свойство ActiveWorkbook позволяет получить доступ к объекту приложения - активной рабочей книге, а в записи ActiveWorkbook.ActiveSheet свойство ActiveSheet означает доступ к объекту рабочей книги - активной странице этой книги.
Изменение значений терминальных свойств - это один из способов изменить внешний объект.
Свойства имеют статус:
- Read-Write (далее R/W ) предполагает возможность изменения свойства;
- Read-Only (далее R/O ) означает, что можно только протестировать значение свойства.
Некоторые свойства являются общими для многих объектов и для разных объектов могут иметь разный статус, например, Height, Width, являющиеся свойствами интервалов, окон и приложения. В дальнейшем указывается статус и тип значения свойства.
В качестве значений свойств могут использоваться константы с префиксом xl, например, константа xlCalculationManual устанавливает ручной пересчет таблицы.
Свойства объектов изменяются при помощи оператора присваивания или под влиянием методов.
Синтаксис операторов присваивания object.property=expression
- object - ссылка на объект, над которым совершается действие;
- property - название свойства, значение которого необходимо изменить;
- expression - выражение, представляющее новое значение свойства объекта.
Важно
- Каждое свойство может принимать значения только определенного типа.
- Тип результата вычисления выражения должен соответствовать типу свойства, т.е, если свойство является числовым, то и результат вычисления выражения должен быть числом или должен преобразовываться в число.
Например, оператор ActiveCell.Font. Bold="b" является ошибочным, так как свойство Bold имеет тип Boolean и может принимать значения только True или False.
Пример
Процедура изменяет размеры активного окна приложения. Ширина и высота окна приложения вводятся в диалоге. Свойства Height и Width для объекта Window имеют статус R/W, но эти свойства нельзя изменять, если размер окна минимизирован или максимизирован. Поэтому первоначально в процедуре свойством WindowState устанавливается обычный размер окна
При помощи оператора присваивания можно сохранить значение свойства в переменной. Значение свойства может использоваться как часть условного выражения. В таких случаях говорят о возврате значения свойства.
Синтаксис оператора присваивания, возвращающего значение свойства
variable=object.property
- variable - переменная или свойство некоторого объекта;
- object - ссылка на объект, свойство которого запоминается или тестируется;
- property - название свойства, значение которого необходимо получить.
Примеры
- Распечатать название рабочего листа c активной ячейкой.
Свойство Parent возвращает рабочий лист, на котором расположена активная ячейка.
- В зависимости от знака числа, хранящегося в ячейке, залить ячейку некоторым цветом.
В процедуре тестируется свойство Value объекта Range - ячейки A1. В случае отрицательного числа цвет заливки ячейки - синий.
При нулевом значении заливка ячейки отменяется (константа xlNone ). При положительном значении устанавливается цвет заливки, предусмотренный по умолчанию (константа xlAutomatic ).
Методы объектов
Методы - это действия, которые выполняются с объектом. Методы могут влиять на значения свойств.
Важно
Синтаксис вызова метода без аргументов
object.method
Вызов метода с аргументами имеет две формы:
- variable=object.method(arguments) - функциональная форма вызова (аргументы указываются в скобках после названия метода).
- object.method arguments - операторная форма вызова (аргументы записываются через пробел после названия метода).
Если метод использует несколько аргументов, то они перечисляются через запятую.
Аргументы можно задавать, используя позиционное или произвольное расположение.
ЗАПОМНИТЕ
Каждый объект имеет свои собственные методы. Некоторые методы являются уникальными, а другие встречаются у нескольких объектов. Например, метод Delete может удалять графический объект и рабочий лист.
Модель объектов
Структура объектов достаточно сложна. Модель объектов показывает структуру объектов и их взаимосвязи.
Нажатие на выбранный объект отображает на экране статью, посвященную объекту, в которой ниже имени объекта, как правило, расположены три гиперссылки, позволяющие просмотреть свойства ( Properties ), методы ( Methods ) и события ( Events ) выбранного объекта с соответствующими примерами. В дополнение можно раскрыть список рекомендуемых для просмотра объектов ( See Also ). Нажатие на Multiple objects показывает перечень исходных объектов или перечень вложенных объектов.
Объекты приложения связаны между собой, и модель объектов отражает иерархические связи между объектами.
Модель объектов содержит простые объекты и коллекции объектов. Коллекция объектов ( Collection ) объединяет группу подобных объектов.
Коллекции объектов
Коллекция объектов - это объект специального типа, существующий для управления объектами группы. Например, Workbooks является коллекцией всех открытых книг - объектов Workbook, а Worksheets - коллекцией рабочих листов некоторой рабочей книги - объектов Worksheet. Примерно половина всех объектов MS Excel - это коллекции объектов.
Процедуры могут обращаться как к отдельному элементу коллекции (к объекту Workbook или к объекту Worksheet ), так и ко всем объектам коллекции одновременно (к объекту Workbooks или к объекту Worksheets ). Коллекция объектов и объекты этой коллекции обладают различными свойствами и методами.
Коллекция объектов - это упорядоченная совокупность объектов. Для доступа к конкретному объекту в коллекции можно использовать его имя или порядковый номер в коллекции, например, Workbooks(1) указывает на первую рабочую книгу. Запись Worksheets("Sheet2") указывает на лист с именем Sheet2.