Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


VBA Excel. Ссылки на одиночные объекты и объекты семейств



Семейства объектов

Семейством (Collection) в VBA называется совокупность однотипных объектов. Например, в Excel семейство Worksheets является совокупностью всех рабочих листов — объектов Worksheet — в данной рабочей книге, а семейство Lines — совокупностью прямых линий, нарисованных на данном рабочем листе.

Составляющие семейство отдельные объекты называются элементами семейства. Можно ссылаться на отдельные элементы семейства, указывая в скобках имя конкретного объекта или его индекс — порядковый номер элемента в семействе. Например, оператор

Workbooks(" ПОДПИСКА.xls" ).Close

закрывает рабочую книгу под именем ПОДПИСКА.xls.

А вот пример использования индекса элемента семейства. Оператор

ActiveSheet.Lines(1).Select

выделяет первую из имеющихся линий на активном рабочем листе.

Замечание Нумерация элементов в семействе при использовании индексов начинается с единицы.

Хотя семейства представляют собой группы объектов, сами семейства также являются одиночными объектами. Такой собирательный объект-семейство представляет собой всю совокупность входящих в семейство объектов, и имеет собственные свойства и методы, с помощью которых можно изменять разом состояние всех объектов семейства. Например, оператор

ActiveSheet.Lines.Delete

удаляет все нарисованные на активном рабочем листе прямые линии.

Как правило, индивидуальные объекты, являющиеся элементами семейств, имеют гораздо больше свойств и методов, чем соответствующий собирательный объект-семейство. Например, объект-семейство Workbooks в Excel имеет всего пять свойств (Application, Count, Creator, Item, Parent) и четыре метода (Add, Close, Open, OpenText), то время как объект Workbook имеет 59 свойств и 42 метода.

Не все объекты приложений могут группироваться в семейства — для некоторых индивидуальных объектов не существует соответствующих семейств.

Приведем краткий список наиболее часто используемых семейств.

Семейства объектов

Семейство Описание

Семейства объектов Excel

Workbooks Все открытые в настоящий момент рабочие книги. С помощью метода Open можно открыть еще одну рабочую книгу. Метод Add создает новую рабочую книгу.
Sheets Включает в себя все листы рабочей книги — как обычные рабочие листы, так и листы диаграмм. Наиболее часто используемые методы — Add Copy, Delete, Select.
Worksheets Все рабочие листы рабочей книги. Используются те же методы, что и для семейства Sheets.

В общем случае свойства используются для доступа к содержимому, которое может включать в себя текст, хранящийся в объекте, или значение атрибута объекта, а методы - для доступа к функциональным возможностям, под которыми понимается все, что разрешается делать с содержимым.Но такое различие существует не всегда: в любой модели объектов есть свойства и методы – исключения из данного правила.

Объект Range. Назначение и особенности.

ОБЪЕКТ RANGE.

Range (объект " Диапазон" ) Этот объект позволяет изменять свойства диапазона ячеек, например, используемый шрифт, проверять или изменять содержимое ячеек, вырезать или копировать указанный диапазон, и многое другое. Это наиболее часто используемый в Excel объект. Принадлежащий к этому же классу объектов объект ActiveCell - представляет собой активную в настоящий момент ячейку. Обратите внимание на то, что не существует такого объекта, как Cell — отдельно взятая ячейка представляет собой частный случай объекта Range.

 

Бъект Range (Диапазон)

Clear Полностью очищает диапазон (в том числе и форматирование ячеек)
ClearContents Очищает содержимое ячеек диапазона
ClearFormats Очищает форматирование ячеек диапазона
Copy Копирует диапазон в буфер обмена
Offset Возвращает диапазон с указанным смещением относительно первоначального диапазона
Paste Вставляет содержимое буфера обмена в диапазон
Select Выделяет диапазон
Sort Сортирует значения в диапазоне

Объект RANGE представляет отдельную ячейку, диапазон ячеек, целую строку, или колонку, несколько выделенных областей или трехмерный диапазон. Объект RANGE несколько необычен, поскольку может представлять как одну, так и множество ячеек. Для объекта RANGE не предусмотрен специальный объект-набор, и в зависимости от конкретной ситуации его можно считать либо отдельным объектом, либо набором.

Назначение:

· если вам нужно ввести данные в ячейку или отформатировать ее, то вы должны получить объект Range, представляющий эту ячейку;

· если вы хотите сделать что-то с выделенными вами ячейками, вам необходимо получить объект Range, представляющий выделение;

· если вам нужно просто что-то сделать с группой ячеек, первое ваше действие — опять-таки получить объект Range, представляющий эту группу ячеек.

Пожалуй, самый естественный способ получения ссылки на объект Range — это метод Range. Имеются два вида синтаксиса для применения этого метода. Первый использует один аргумент:

объект.Range(интервал)

где:

объект — это объект типа Worksheet или Range, к которому применяется метод Range. Этот объект может быть опущен, и тогда предполагается, что метод Range применяется к активному рабочему листу — объекту ActiveSheet;

Range(" A1: B10" ).ClearContents

Строка, описывающая диапазон, может содержать символы $, задающие абсолютный стиль ссылок, но эти символы игнорируются и никак не влияют на определение диапазона. Если метод применяется к объекту типа Worksheet, то получается абсолютная ссылка на указанный диапазон разделитель списка — запятая ", " ). Например, следующий оператор ссылается на диапазон A1: B10 активного рабочего листа и очищает его рабочего листа; если же метод применяется к объекту типа Range, то ссылка считается относительной. Например, если текущая активная ячейка — это ячейка B3, то оператор

Selection.Range(" B1" )

возвращает ячейку C3, поскольку ссылка B1 считается относительной для объекта Range (активной ячейки B3), возвращаемого свойством Selection. В то же время оператор

ActiveSheet.Range(" B1" )

всегда возвращает ячейку B1.

Если вы используете имена для диапазонов ячеек рабочего листа, то они также могут использоваться в качестве ссылки на диапазон, например, оператор

Range(" Условия" ).Copy

копирует поименованный диапазон " Условия" в буфер обмена.

Другой синтаксис для метода Range использует два аргумента:

объект.Range(ячейка1, ячейка2)

Эти два аргумента представляют собой ссылки на ячейки, определяющие верхний левый и правый нижний углы прямоугольного диапазона ячеек. Такой синтаксис может быть особенно удобен при определении изменяющегося диапазона ячеек, поскольку позволяет независимо формировать координаты верхнего левого и правого нижнего угла.

 


Поделиться:



Последнее изменение этой страницы: 2019-04-09; Просмотров: 306; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.019 с.)
Главная | Случайная страница | Обратная связь