Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
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 метода. Не все объекты приложений могут группироваться в семейства — для некоторых индивидуальных объектов не существует соответствующих семейств. Приведем краткий список наиболее часто используемых семейств. Семейства объектов
В общем случае свойства используются для доступа к содержимому, которое может включать в себя текст, хранящийся в объекте, или значение атрибута объекта, а методы - для доступа к функциональным возможностям, под которыми понимается все, что разрешается делать с содержимым.Но такое различие существует не всегда: в любой модели объектов есть свойства и методы – исключения из данного правила. Объект Range. Назначение и особенности. ОБЪЕКТ 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; Просмотров: 324; Нарушение авторского права страницы