Выяснение и установка свойств объектов

Выяснение и установка свойств объектов

Вероятно, свойства - это самые простые для понимания характеристики объекта. Каждое свойство хранит информацию о некотором аспекте внешнего вида, поведения, содержимого объекта или, если хотите, о его генеалогии.

Например, объект Document может иметь свойство Pages, говорящее о числе страниц в документе. Объект Shape может иметь свойство Fill, задающее цвет графического элемента. Объекты CornmandButton (представляющие кнопки в диалоговых окнах) имеют свойство Caption, задающее текст, появляющийся на кнопке.

Как правило, VBA-программа может выяснить, какая информация хранится в том или ином свойстве, чтобы затем принять решение о том, следует ли предпринять какие-либо действия или просто отобразить на экране текущие установки свойства. Программа может и, наоборот, изменить установки свойств с тем. чтобы соответствующий объект изменил свой внешний вид или поведение, - но только в том случае, когда свойство допускает такое изменение (многие свойства допускают чтение своих значений, но не их изменение).

Изо всех типов свойств легче всего разобраться со свойствами, задающими различные аспекты внешнего вида объекта. Например, объект Shape в Visio среди прочих свойств имеет следующие.

Свойство

Описание

Area Ul

Площадь графического элемента в специальных внутренних единицах

FillStyle

Стиль Visio, задающий цвет графического элемента и другие характеристики заливки

Text

Текст, появляющийся на графическом элементе

Эти свойства задают внешний вид объекта в документе.

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

Некоторые свойства, например AreaUZ для объекта Shape в Visio, могут принимать любое значение. Другим же допускается назначить только одно из некоторого списка заранее определенных значений. Многие свойства могут принимать только одно из двух возможных значений, таких как True или Falsе. Торячий или Холодный, Сухой или Мокрый.

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

Знание того, как менять значение свойства, еще не означает, что его можно менять. Некоторые свойства позволяют выяснить свои значения, но не позволяют менять их. Это свойства только для чтения. Существуют также, хотя встречаются значительно реже, свойства только для записи - их значения можно изменить, но прочитать их текущие значения нельзя. Однако большинство свойств предназначено для чтения и записи - их значения можно и прочитать, и изменить.

Главной задачей свойства является описание некоторой характеристики объекта, но вы должны знать, что установки свойства - это обычные данные, в принципе ничем не отличающиеся от тех данных, которые вы размещаете в переменных VBA. А если так, то можно представлять себе свойства как более или менее постоянно существующие переменные, которые не требуется объявлять.

При таком представлении переменных можно говорить, что любое свойство хранит данные определенного типа точно так же, как переменная. Например, свойство, которое может принимать только два взаимоисключающих значения (True или False. Счастливый или Несчастный, Левый или Правый), имеет тип Boolean. Одни свойства являются строками, другие- целочисленными значениями, третьи- десятичными числами с дробной частью или плавающей запятой и т.д. Свойства могут быть и объектами. (О допустимых в VBA типах данных см. главу 7.)

Чтобы выяснить или, как говорится, получить текущее значение свойства, используйте свойство так, как будто это функция или процедура типа Function. А значит, присвойте это свойство некоторой переменной в своем программном коде. Переменная при этом должна иметь тот же тип, что и свойство, или, по крайней мере, иметь подходящий тип.

В следующем примере объект представляет собой, скажем, вопрос для вступительного экзамена. Свойство, значение которого выясняется здесь, описывает сложность вопроса по десятибалльной шкале;

Dim intСложность As Integer

intСложность = objЭкзаменационныйВопрос.УровеньСложности

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

Но для чего выяснять текущее значение свойства? Как правило, это значение используется в условных операторах и на его основе принимается решение о выполнении или невыполнении программой определенных действий. (В данном случае, например, это может быть если УровеньСложности вопроса выше 8 и если ответ правильный, то количество баллов за ответ удвоить".) Значение свойства удобно сохранить в переменной и тогда, когда нужно присвоить это значение такому же свойству другого подобного объекта.

Правда, если значение свойства используется только однажды, совсем не обязательно присваивать его переменной - в выражении можно использовать и само свойство. Например:

If objЭкэаменационныйВопрос.УровеньСложности > 8 Then

int0бщееЧислоБаллов = intОбщееЧислоВаллов + _

(intЧислоБалловЗаОтвет *2)

End If

Такая практика удобна, но не забывайте, что частое обращение к свойствам объектов замедляет работу программы. Если значение некоторого свойства используется больше одного-двух раз, это значение лучше сохранить в переменной - VBA извлекает значение обычной переменной значительно быстрее, чем значение свойства.

Не забывайте, что свойства- это просто обремененные славой переменные. Поэтому свойствам можно присваивать значения точно так же, как обычным переменным, поместив в строке имя свойства слева, а значение - справа от знака равенства. В операторе objМузыкаМеталл.ФакторРаздражения = 999 значение свойства ФакторРаздражения- наверное, мера искажений, резонансов и всевозможных шумов - для объекта objМузыкаМеталл устанавливается равным 999:

objМузыкаМеталл.Мелодия = False

objМузыкаМеталл.Название = "У меня блохи. Плохо."

Многие объекты имеют свойство, выбираемое по умолчанию. Прочитать или установить значение такого свойства можно, указывая только имя объекта и не указывая имя самого свойства. Обратившись снова к предыдущему примеру, предположим, что для объекта objMyзыкaMeтaлл свойством по умолчанию является Название. Тогда последний оператор в примере можно записать проще:

objМузыкаМеталл = "У меня блохи. Плохо."

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

Как уже упоминалось в разделе "Установки свойств - это данные", свойство одного объекта может указывать на другой объект. Это дает возможность обращаться к дочерним объектам данного объекта-контейнера так, как будто дочерние объекты являются свойствами этого контейнера. Например, в выражении Toolbar.ToolbarItems

ToolbarItems - свойство объекта Toolbar, но значением этого свойства является объект ToolbarItems.

На самом деле именно такое использование свойств объектов является основным средством идентификации объектов для использования в программе (подробности приведены ниже, в разделе "Идентификация объекта для использования").

Подобно тому, как свойства объекта указывают на подчиненные объекты, с помощью свойств можно выяснить, какому контейнеру принадлежит сам объект. Например, если в Visio в переменной хранится ссылка на объект Pages и вы хотели бы выяснить, к какому документ) она относится, то выражение Pages.Parent возвратит ссылку как раз на нужный документ. А если вам потребуется узнать, какому приложению принадлежит данный объект, то, как правило, можно пропустить все промежуточные ступени иерархии и обратиться сразу на самый верхний уровень с помощью свойства Application: Pages.Application.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Просмотр свойств объектов

Из книги Компьютер на 100. Начинаем с Windows Vista автора Зозуля Юрий

Просмотр свойств объектов Для получения основных сведений о файле или папке достаточно щелкнуть на нем в окне папки кнопкой мыши – и основная информация появится на панели подробностей, которая расположена в нижней части окна. Для получения более детальной информации


Панель свойств объектов

Из книги AutoCAD 2009 для студента. Самоучитель автора Соколова Татьяна Юрьевна

Панель свойств объектов Панель свойств объектов Properties, показанная на рис. 2.12, предназначена для работы с цветом, типом и весом линий. Рис. 2.12. Панель свойств объектовВ нее входят следующие инструменты: Color Control – раскрывающийся список установки текущего цвета, а также


Копирование свойств объектов

Из книги AutoCAD 2009. Начали! автора Соколова Татьяна Юрьевна

Копирование свойств объектов Команда MATCHPROP предназначена для копирования свойств заданного объекта другому объекту. Она вызывается из падающего меню Modify ? Match Properties или щелчком на пиктограмме Match Properties на стандартной панели инструментов.Допускается копировать цвет,


Палитра свойств объектов

Из книги Windows Script Host для Windows 2000/XP автора Попов Андрей Владимирович

Палитра свойств объектов Палитра свойств объектов PROPERTIES, показанная на рис. 5.8, – это единый инструмент, управляющий практически всеми свойствами объектов рисунка. На палитре собрано около 40 диалоговых окон и команд, которые были разрознены в более ранних версиях AutoCAD.


Панель свойств объектов

Из книги VBA для чайников автора Каммингс Стив

Панель свойств объектов Панель свойств объектов Properties, показанная на рис. 2.6, предназначена для работы с цветом, типом и весом линий. Рис. 2.6. Панель свойств объектовВ нее входят следующие инструменты: Color Control – раскрывающийся список установки текущего цвета, а также


Палитра свойств объектов

Из книги AutoCAD 2009. Учебный курс автора Соколова Татьяна Юрьевна

Палитра свойств объектов Палитра свойств объектов Properties, показанная на рис. 4.6, – это единый инструмент, управляющий практически всеми свойствами объектов рисунка. На палитре собрано около 40 диалоговых окон и команд, которые были разрознены в более ранних версиях AutoCAD.


Установка и изменение свойств сценариев

Из книги AutoCAD 2008 для студента: популярный самоучитель автора Соколова Татьяна Юрьевна

Установка и изменение свойств сценариев В случае необходимости для сценариев можно задавать различные параметры, влияющие на ход их выполнения. Для консольной (cscript.exe) и графической (wscript.exe) версий сервера сценариев эти параметры задаются


Установка свойств проекта

Из книги Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil автора Ковязин Алексей Николаевич

Установка свойств проекта В диалоговом окне Project Properties (Свойства проекта) можно изменить имя проекта, добавить его краткое описание, назначить проекту файл справки, а также защитить проект от несанкционированного любопытства и изменений. Правда, пока вы не станете


Установка свойств объекта с помощью процедур Property Let

Из книги IT-безопасность: стоит ли рисковать корпорацией? автора Маккарти Линда

Установка свойств объекта с помощью процедур Property Let Процедура Property Let устанавливает значение свойства. В своей простейшей форме процедура Property Let берет переданное ей в виде аргумента значение и присваивает его переменной, представляющей свойство. В предыдущем примере


Панель свойств объектов

Из книги автора

Панель свойств объектов Панель свойств объектов Properties, показанная на рис. 2.12, предназначена для работы с цветом, типом и весом линий. Рис. 2.12. Панель свойств объектовВ нее входят следующие инструменты: Color Control – раскрывающийся список установки текущего цвета, а также


Копирование свойств объектов

Из книги автора

Копирование свойств объектов Команда MATCHPROP предназначена для копирования свойств заданного объекта другому объекту. Она вызывается из падающего меню Modify ? Match Properties или щелчком на пиктограмме Match Properties стандартной панели инструментов.Допускается копировать цвет, слой,


Палитра свойств объектов

Из книги автора

Палитра свойств объектов Палитра свойств объектов PROPERTIES, показанная на рис. 5.15, – это единый инструмент, управляющий практически всеми свойствами объектов рисунка. На палитре собрано около 40 диалоговых окон и команд, которые были разрознены в более ранних версиях AutoCAD.


Панель свойств объектов

Из книги автора

Панель свойств объектов Панель свойств объектов Properties, показанная на рис. 2.9, размещается на рабочем столе под стандартной панелью инструментов и предназначена для работы с цветом, типом и весом линий. Рис. 2.9. Панель свойств объектовВ нее входят следующие


Палитра свойств объектов

Из книги автора

Палитра свойств объектов Палитра свойств объектов PROPERTIES, показанная на рис. 5.8, – это единый инструмент, управляющий практически всеми свойствами объектов рисунка. На палитре собрано около 40 диалоговых окон и команд, которые были разрознены в более ранних версиях AutoCAD.


Выяснение риска

Из книги автора

Выяснение риска Из разговора с Марией я не получила много информации. Она говорила лишь о подозрении на риск. Я попросила у нее сетевую схему компьютерного зала и список систем, подозреваемых на риск.Мария предоставила мне временный офис с телефоном и системой. Она также