Использование окна Properties
В VBE окно Properties позволяет изменять свойства выделенного элемента управления (это может быть обычный элемент управления или сама форма UserForm). Кроме того, вы вправе выбрать элемент управления с помощью раскрывающегося списка в верхней части окна Properties.
В окне Properties расположены две вкладки. Вкладка Alphabetic представляет свойства выделенного элементауправления валфавитном порядке. Вкладка Categorized отображает свойства, сгруппированные в логические категории. Обе вкладки содержат одинаковые свойства, но в различном порядке. Для того чтобы изменить свойство, необходимо щелкнуть на нем и ввести новое значение. Некоторые свойства могут принимать только ограниченный набор допустимых значений, выбираемых из соответствующего списка. При щелчке на таком свойстве в окне Properties будет отображена кнопка со стрелкой, указывающей вниз. Щелкните на этой кнопке для того, чтобы выбрать значение из предложенного списка. Например, свойство Text Align может принимать одно из следующих значений: 1 - fmTextAlignLeft, 2 – fmTextAlignCenter и 3 - fmTextAlignRiglit.
При выделении отдельных свойств (например, Font и Picture) рядом с ними отображается небольшая кнопка с троеточием. Щелчок на этой кнопке приводит к вызову диалогового окна настройки свойства. Свойство Picture элемента управления Image стоит рассмотреть отдельно, поскольку для него необходимо указать графический файл. Еще один вариант – вставить изображение из буфера обмена. В последнем случае его сначала следует скопировать в буфер обмена, а затем выбрать свойство Picture элемента управления Image и нажать комбинацию клавиш <Ctrl+V> для вставки содержимого буфера обмена.
Если выделить два или больше элементов управления, то окно Properties будет отображать только те свойства, которые являются общими для выделенных объектов. Объект UserForm характеризуется рядом свойств, значения которых можно изменять. Эти свойства используются в качестве значений, принятых по умолчанию для элементов управления, которые добавляются в пользовательское диалоговое окно. Например, если изменить свойство Font объекта UserForm, то все элементы управления, которые вставляются в пользовательское диалоговое окно, будут использовать указанный шрифт.
Каждый элемент управления имеет как собственный набор уникальных свойств, так и ряд общих свойств, присущих другим элементам управления. Например, все элементы управления имеют свойство Name и свойства, определяющие его размери расположение на форме (Height, Width, Left иRight).
Если вы собираетесь работать с элементом управления с помощью кода VBA, то ему стоит определить значащее имя. Например, первый элемент управления OptionButton, который добавлен в пользовательское диалоговое окно, по умолчанию получит имя OptionButton1.
В коде ссылка на этот объект будет выглядеть следующим образом: OptionButton1.Value = True. Но если элементу управления OptionButton присвоить описательное имя (например, obLandscape), то можно использовать оператор obLandscape.Value = True
Многие пользователи считают, что удобно использовать имена, которые указывают на тип объекта. В предыдущем примере был применен префикс ob для указания того, что объект представляет элемент управления OptionButton. Можно изменять значения свойств нескольких элементов управления одновременно. Например, вы вправе создать на форме несколько элементов управления OptionButton и выровнять их все по левому краю. Для этого достаточно выделить все элементы управления OptionButton и изменить значение свойства Left в окне Properties. Все выделенные элементы управления примут новое значение свойства Left.
Как было показано, объекты Range, Font, Interior, Border, Style, Worksheet и Window используются для установки различных параметров рабочего листа, при создании формы. Элементы управления придают форме различные функциональные возможности. К элементам управления относятся кнопки, переключатели, флажки и др., а также элементы мультимедиа, позволяющие проигрывать звук и видео. Excel позволяет использовать как встроенные элементы управления (кнопки, флажки, списки и т.д.), так и пользовательские, написанные самостоятельно с помощью С++. Последние называются элементами управления ActiveX. Элементы управления, как и другие объекты, имеют собственный набор свойств, методов и событий. Они могут находиться на пользовательских диалоговых окнах, рабочих листах и диаграммах, причем, в первых двух случаях элементы управления доступны через панель инструментов "Элементы управления", а в третьем - через панель инструментов "Формы".
Обычно создание элемента управления на рабочем листе происходит при начальной разработке формы. В этом случае панель инструментов Элементы управления (Toolbox) вызывается командой Вид, Панели инструментов, Элементы управления (View, Toolbox). Для удобства работы с элементами управления во время их конструирования в Excel имеется режим конструктора, который активизируется при нажатии кнопки Режим конструктора (Design Mode) на панели Элементы управления. В режиме конструктора можно видоизменять элемент управления и задавать его свойства при отключенной реакции на события. Рассмотрим общие свойства, события и методы элементов управления, а затем свойства, характерные для элементов управления, расположенных на рабочих листах. Начнем со свойств.
Name - имя элемента управления, по которому на него производится ссылка в коде.
Caption - текст, отображаемый на элементе управления или рядом с
ним.
List - массив строк, представляющих список (ComboBox, ListBox). Каждый элемент массива - это один элемент списка. Свойство List используется, когда элементы списка находятся в объекте.
Listlndex - номер выделенного элемента списка, начиная с нуля. При этом свойство MultiSelect должно быть установлено в 0.
Value - текст, выделенный в списке или текущее значение полосы прокрутки и счетчика.
Max, Min - наибольшее или наименьшее положительное значение полосы прокрутки или счетчика SmallChange. Положительное или отрицательное целое число, определяющее величину изменения полосы прокрутки или счетчика при щелчке на одной из стрелок.
Text - устанавливает или возвращает текст, содержащийся в текстовом поле (TextBox).
AutoSize - если установлено в True, элемент управления будет иметь наименьший возможный размер, необходимый для отображения его содержимого. Это свойство отсутствует у списков (ListBox), полос прокрутки (ScrollBar) и счетчиков (SpinButton).
Enabled - если установлено в True, пользователь может работать с элементом управления. Если False - элемент управления защищен и не может получить "фокус", т.е. не может быть активизирован.
Left, Top, Width, Height - позиция и размер элемента управления в пунктах.
Visible - если установлено в True, объект отображается во время выполнения. Если False - объект скрыт.
Locked - если установлено в True, пользователь не может редактировать элемент управления во время разработки.
PrintObject - если установлено в True, объект выводится на печать, когда пользователь печатает лист. Если False - объект не печатается.
Выделим специфические свойства элементов управления, расположенных на рабочем листе.
Placement - задает условия перемещения и изменения размеров объекта. Может принимать одно из трех значений:
• xlMoveAndSize - объект перемещается и изменяет размер вместе с ячейками, располагающимися под ним;
• xlMove - объект перемещается, но не изменяет размер в месте с ячейками, располагающимися под ним;
• xlFreeFloating - объект не перемещается и не изменяет размер вместе с ячейками, располагающимися под ним.
LinkedCell - помещает значение свойства Value в ячейку или диапазон ячеек рабочего листа.
ListFillRange - диапазон рабочего листа, с которым связано содержимое списка.
Теперь перейдем к событиям.
Click - происходит, когда пользователь нажимает и отпускает кнопку мыши на элементе управления.
DbClick - происходит, когда пользователь дважды нажимает кнопку мыши на элементе управления.
KeyPress - происходит при нажатии любой клавиши на клавиатуре, за исключением клавиш управления курсором, функциональных клавиш и клавиш управления Ctrl, Shift, Alt.
MouseDown, MouseMove, MouseUp - определяют точное положение курсора на экране, где была нажата кнопка мыши и, была ли нажата клавиша Ctrl, Shift или Alt, когда произошло событие.
Error - предоставляет информацию об ошибке, связанной с элементом управления.
SpinDown, SpinUp - изменяет значение в сторону уменьшения или увеличения соответственно.
Change - происходит при изменении значения счетчика и полосы прокрутки.
Приведем три метода обработки элементов списка (ComboBox, ListBox).
Addltem - добавляет один элемент в список. Имеет два аргумента:
• pvargText - строка текста, представляющая элемент;
• pvarglndex - индекс в списке, после которого вставляется элемент, для добавления элемента в вершину списка устанавливается в 0.
Removeltem - удаляет один элемент из списка с индексом pvarglndex, начинающимся с 0.
Clear - удаляет все элементы из списка.
По мере завершения работы с элементами управления надо отключить режим конструктора повторным нажатием кнопки Режим конструктора {Design Mode). Опишем операции размещения элементов управления на рабочем листе (А), изменения (задания) их свойств (В) и написания подпрограммы обработки события (С).
A. На панели Элементы управления нажимается кнопка выбранного элемента управления, указатель мыши приобретает вид крестика. Указатель свободно перемещается в любое место рабочего листа и, при нажатии левой клавиши мыши вычерчиваются контуры элемента. С помощью маркеров устанавливаются требуемые размеры и положение элемента управления.
B. Для изменения свойств элемента управления вручную необходимо его выделить щелчком мыши и нажать кнопку Свойства (Properties Window) на панели Элементы управления (Toolbox), что приведет к появлению окна "Свойства (Properties Window)", похожего на аналогичное окно редактора Visual Basic. В окне свойств следует щелкнуть на соответствующей строке второго столбца и ввести или выбрать из списка новое значение свойства. После установки свойств элемента управления переходят к написанию связанных с ними подпрограмм VBA, реагирующих на события. Например, элемент управления кнопка, расположенная на листе 1, имеет событие Click, которое происходит при нажатии пользователем на кнопку.
C. Чтобы увидеть или написать подпрограмму обработки события, необходимо выделить элемент управления и нажать кнопку Окно программы (View, Code), что приведет к активизации редактора Visual Basic и появлению модуля кода, куда вводится текст подпрограммы. В левой верхней части модуля кода находится раскрывающийся список с именами объектов, для которых в данном модуле создаются процедуры обработки событий. В правой верхней части модуля кода располагается раскрывающийся список с именами событий, связанных с выделенным объектом.
Дата добавления: 2016-01-26; просмотров: 1894;