|
Работа на VBA с листами Excel. Общие положения- Объекты в Excel - это то, с чем вы работаете
- Объекты (objects) – это имена существительные в Excel. Объекты включают рабочие листы, меню, кнопки и диапазоны ячеек. В Excel много объектов. Объект имеется для каждого элемента меню, для каждой кнопки и рабочего листа. Полный перечень объектов Excel можно увидеть, найдя Objects на вкладке Содержание диалогового окна "Справочная система: MicrosoftExcel". Объекты не делают ничего. Это вы что-либо делаете с ними. Для написания строки кода VBA, включающей объект, необходимо указать объект, и затем что-либо сделать с ним.
- Выполнение каких-либо действий с объектом включает использование свойств и методов. Объект в VBA указывается при помощи ссылки. Ссылка состоит из компонентов. Каждый компонент ограничивает область возможных объектов, пока не укажет точно конкретный объект. Каждая ступень ограничения отделяется точкой (.). Например:
- Workbooks ("Книга2"). Worksheets ("Лист1")
- ссылается на объект – рабочий лист с именем Лист1. Для того чтобы отличить его от других листов с таким именем в других книгах, в начале и указывается ограничивающий спецификатор (Workbooks ("Книга2")). Но это еще не оператор VBA. Указан только объект, с которым ничего не сделано. Для написания оператора необходимо указать, что с ним делать.
- Свойства – это атрибуты объекта
- Некоторые атрибуты объектов в Excel называются свойствами (properties). Кнопка имеет название, ячейка рабочего листа имеет значение или формулу, меню имеет имя. Можно изменить объект, меняя его свойства. Различные объекты имеют одни и те же свойства. Мяч и машина имеют свойство цвета. Но машина не имеет свойства степени накачки, хотя ее шины могут его иметь. Свойства в VBA указывается ссылкой на объект, разделяющей точкой (.) и именем этого свойства. Например, рабочие листы имеют свойство Name (имя). Поэтому для ссылки на свойство имени этого объекта указывают:
- Workbooks ("Книга2"). Worksheets ("Лист1"). Name
- Это не законченный оператор. Это выражение, которое должно использоваться как часть оператора.
- Методы оперируют объектами
- Если объект подобен существительному, то метод – глаголу, выполняющему действие с существительным. Объект мяч, например, мог бы иметь методы бросать и отскакивать. Метод присоединяется к концу ссылки с точкой (.), отделяющей его от объекта. Например, объект рабочего листа имеет метод удаления (применение этого метода удаляет объект – рабочий лист). Для использования его следует написать:
- Workbooks ("Книга2"). Worksheets ("Лист1").Delete
- Это законченный оператор. Он указывает удалить заданный лист и может стоять отдельно, как строка кода.
- Наборы – это группы объектов
- Группы подобных объектов называются наборами (collections). Так набор рабочих листов называется Worksheets. Набор прямоугольников при рисовании называется Rectangles. С набором можно что-либо сделать (например, добавить меню к набору Menus) или сослаться на набор и выбрать элемент набора для работы с ним (Workbooks ("Книга2")). Workbooks– это набор всех открытых книг, а часть ("Книга2") позволяет выбрать один из объектов в наборе.
- Ссылайтесь на объекты, используя последовательность контейнеров
- Когда один объект находится внутри другого, другой объект называется контейнером (container). Рабочая книга является контейнером для рабочего листа, а лист – контейнером для объекта диапазона. Следует начинать указывать слева с самого большого контейнера и перечислять каждый контейнер поменьше, пока не дойдете до нужного объекта, отделяя каждый пункт точкой. Например, следующая строка кода ссылается на ячейку B6 в Лист1 рабочей книги Книга2.XLS:
- Workbooks ("Книга2"). Worksheets ("Лист1"). Range ("B6")
- Для действия с ячейкой B6 в любом выбранном в данное время рабочем листе нужно исключить указание на то, контейнеры какого листа и рабочей книги выбраны, и написать просто: Range ("B6").
- Объекты, активные или выбранные в данный момент
- Есть несколько способов ссылаться на объекты, активные или выбранные в текущий момент. Они формально известны как свойства, но кажутся больше похожими на объекты и возвращают ссылку на объект.
- Возвращать ссылку – означает, что вы упоминаете объект, описывая его. Часто объект не имеет определенного имени, но вам необходимо с ним работать. Существуют способы, использующие методы и свойства, возвращающие при вызове ссылку на необходимый вам объект. Например, если активным является рабочий лист, то ActiveCell возвратит ссылку на активную в данный момент ячейку. Поэтому, если вы – в рабочей книге, и активная ячейка C7, то ActiveCellи Range ("C7") означают одно и то же. Любое свойство или метод, который вы могли бы использовать с объектом Range, можно вместо этого использовать с ActiveCell. Например: ActiveCell.Value=500 заменяет значение активной ячейки на 500.
- ActiveWorksheets– возвращает лист, активный в данный момент. ActiveWorkbook – возвращает активную рабочую книгу. ActiveDialog – возвращает самый верхний текущий диалоговый лист (который может быть тем же, что и активный).
- Другим полезным свойством является Selection (выделение). Это свойство возвращает объект, который выделен в текущий момент, – будь то диапазон, нарисованный объект или кнопка в диалоговом окне. Это свойство может возвращать различные типы объектов.
- Если ячейка выделена в настоящий момент, то какая разница между ActiveCell и Selection?
- Selection – это любые ячейки (одна или несколько), выделенные в рабочем листе. ActiveCell – это всегда одиночная ячейка, даже если выделено много ячеек. Когда выделено несколько ячеек, то одна из них является активной. Это ячейка, которая не выделена черным цветом.
- Выбор объекта из набора
- Рассмотрим конкретный пример. Все листы в рабочей книге образуют набор – Worksheets. Если работа выполняется с отдельным листом, то необходимо сузить область объектов. Это можно сделать с помощью метода Worksheets, вся работа которого состоит в выборе конкретного объекта из набора Worksheets. Worksheets является методом или объектом? И тем, и другим. Это – набор всех рабочих листов в книге, и метод, используемый для выбора отдельного рабочего листа.
- Наиболее распространенный способ применения метода Worksheets – это использование его с именем нужного вам листа в качестве аргумента. Так, для ссылки на лист Бюджет следует использовать Worksheets ("Бюджет").
17.06.2016; 16:34
хиты: 2567
рейтинг:0
|
|
|
|