Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Свойства объектов VBA, присвоение значений сойствам, типы свойств




Свойства объекта — это возможность получения доступа к информации, которая хранится в этом объекте. Через свойства можно получить эту информацию или ее изменить.

Извлечь информацию можно:

Переменная = Объект.Свойство

например,

sName = oApp.UserName

Изменить информацию в объекте при помощи свойства можно так:

Объект.Свойство = Значение

например:

oApp.ActivePrinter = "HP LaserJet 4"

Значение может быть обычной константой (10 или "HP LaserJet 4"), простым выражением (10 + 5), свойством другого объекта (Объект1.Свойство = Объ-ект2.Свойство), возвращаемым значением какого либо метода: Объект.Свойство = Объект2.Метод().

Конечно, значения не всех свойств можно изменять. Некоторые свойства доступны только для чтения, другие — для чтения и записи, третьи (очень редко) — только для записи.

 

СОБЫТИЯ ОБЪЕКТА И ОБЪЯВЛЕНИЕ WithEvents

Событие — это действие, распознаваемое объектом, для которого можно запрограммировать отклик. Обычное использование события – связывание процедуры с событием через окно свойств VBE.

Однако в некоторых ситуациях события для объектов не появляются в окне редактора кода (например, это справедливо для очень важного объекта Application).

В этом случае необходимо явно объявить этот объект с событиями — при помощи ключевого слова WithEvents, например так:

Public WithEvents App As Word.Application

Делается это в области объявлений модуля (Declarations). После этого в редакторе кода Visual Basic появляется новый объект App со всеми необходимыми событиями.

Новый документ, потом получаем на него ссылку для переменной oDoc, а потом вызываем метод SaveAs() созданного объекта документа.

Удаление объектов производится путем присвоения значения «неопределенно»:

Set объектная_переменная = nothing

например,

Set oApp = nothing

Set объектная_переменная = nothing.

 

 

ФОРМЫ В ПРИЛОЖЕНИЯХ VBA. СОЗДАНИЕ ФОРМ И ОСНОВНЫЕ СВОЙСТВА И МЕТОДЫ

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

Для создания формы достаточно в редакторе Visual Basic щелкнуть правой кнопкой мыши по проекту (то есть документу) в окне Project Explorer и в контекстном меню выбрать Insert -> User Form.

При этом откроется окно дизайнера форм (Form designer), в котором будет представлено пустое окно формы и рядом — Toolbox, панель с набором элементов управления.Если включен показ окна свойств (он включается по клавише <F4>), то в этом окне будут представлены свойства формы. Переход на код для этой формы (по умолчанию открывается событие Click) — по клавише <F7>, возврат обратно в окно дизайнера форм — по <Shift>+<F7>.

Основные свойства форм (кроме ShowModal, все они применимы и для других элементов управления):

¾ свойство (Name) — определяет имя формы. Имя формы используется только программистом в программном коде для этой формы;

¾ свойство Caption — определяет заголовок формы;

¾ свойство Enabled — управляет доступностью формы;

¾ свойство ShowModal — изменяет признак модальности окна;

¾ Остальные свойства относится к внешнему виду, размерам и местонахождению окон.

Основные методы форм:

¾ Show() – обеспечивает запуск формы. Если форма уже была загружена в память, она просто станет видимой, если еще нет — то будет автоматически загружена (произойдет событие Load);

¾ Hide() – форма будет убрана с экрана, но останется в памяти. Потом при помощи метода Show() можно будет опять ее вызвать в том же состоянии, в каком она была на момент «прятанья», а, можно, например, пока она спрятана, программно изменять ее и расположенные на ней элементы управления;

¾ если форма больше точно не потребуется, можно ее удалить из памяти при помощи команды Unload:

Unload UserForm1

Остальные методы относятся либо к обмену данными через буфер обмена (Copy(), Cut(), Paste()), либо к служебным возможностям формы (PrintForm(), Repaint(), Scroll()).

 

ЭЛЕМЕНТЫ УПРАВЛЕНИЯ

Элементы управления — это специализированные объекты, которые можно размещать на формах VBA, используемые для организации взаимодействия с пользователем.

В VBA можно использовать как стандартные элементы управления (CommandButton, CheckBox, OptionButton), так и нестандартные (любые другие, которые есть на компьютере, например, Internet Explorer, Calendar и т.п.) Элементы управления реагируют на события, которые генерирует пользователь (нажатие на кнопку, ввод значения, перемещение ползунка и т.п.)

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

Добавление элементов управления можно производить и программным способом (при помощи метода Add() коллекции Controls), однако при этом придется указывать в коде программы большое количество свойств создаваемого элемента управления, что не очень удобно.

 

1.1 Элемент управления Label (надпись)

Надпись — это просто область формы, в которой выводится какой-то текст.Самое главное свойство элемента управления Label — это Caption, тот текст, который будет выводиться на форме.

Большая часть остальных свойств относится к форматированию этого текста или настройке внешнего вида этого элемента управления.

1.2 Элемент управления TextBox (текстовое поле)

Текстовое поле (TextBox) — один из самых часто используемых элементов управления

Текстовое поле используется:

¾ для приема каких-либо текстовых данных, вводимых пользователем;

¾ для вывода пользователю текстовых данных с возможностью их редактирования;

¾ для вывода пользователю текстовых данных с возможностью копирования и печати, но без возможности изменения.

Некоторые свойства этого элемента управления:

¾ Value (или Text, эти два свойства для текстового поля идентичны) — то текстовое значение, которое содержится в этом поле. Используется для занесения исходного значения и для приема значения, введенного пользователем, в строковую переменную.

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

¾ ControlSource — ссылка на источник текстовых данных для поля. Может ссылаться, например, на ячейку в Excel, на поле в Recordset и т.п. При изменении пользователем данных в текстовом поле автоматически изменится значение на источнике, определенном в ControlSource.

¾ Enabled — если переставить в False, то текст в поле станет серым и с содержимым поля ничего сделать будет нельзя (ни ввести текст, ни выделить, ни удалить). Обычно это свойство используется (для всех элементов управления), чтобы показать пользователю, что этот элемент управления отключен до выполнения каких-либо условий.

¾ MaxLength — максимальная длина значения, которое можно ввести в поле. Иногда можно использовать свойство AutoTab — при достижении определенного количества символов управление автоматически передается другому элементу управления.

¾ PasswordChar — указать, за каким символом будут "прятаться" вводимые пользователем значения. Используется, конечно, при вводе пароля.

 

1.3 Элемент управления ComboBox (комбинированный список)

Этот элемент управления позволяет пользователю выбирать "готовые" значения из списка и вводить значения самостоятельно. Пример элемента управления ComboBox представлен на рис.

Обычно ComboBox используется в двух ситуациях:

¾ когда пользователю необходимо выбрать одно или несколько значений из списка размером от 4-х до нескольких десятков позиций. Если позиций меньше, то проще использовать переключатели, если больше — то ориентироваться в списке становится неудобно и необходимо использовать специальные приемы, когда пользователь вводит первые буквы нужного слова и в списке остаются только значения, которые начинаются на эти буквы;

¾ когда список позиций для выбора необходимо формировать динамически на основании данных из источника (базы данных, листа Excel и т.п.)

Для заполнения списка используется специальный метод AddItem(). Обычно он помещается в обработчик события Initialize для формы. Применение его может выглядеть так:

Private Sub UserForm_Initialize()

ComboBox1.AddItem "Санкт-Петербург"

ComboBox1.AddItem "Ленинградская область"

ComboBox1.AddItem "Москва"

ComboBox1.AddItem "Московская область"

End Sub

Параметр varIndex (необязательный) может использоваться для определения положения элемента в списке, но он не может превышать значения ListCount и поэтому для начальной загрузки ComboBox не подходит.

Самые важные свойства комбинированного списка:

¾ ColumnCount, ColumnWidth, BoundColumn, ColumnHeads, RowSource — свойства, которые применяются при работе со списками из нескольких столбцов. Пользователями нелюбимы и к использованию не рекомендуются (гораздо проще сделать несколько комбинированных списков);

¾ MatchEntry — будут ли при вводе пользователем первых символов значения выбраться подходящие позиции из списка$

¾ Value (или Text) — позволяет программным способом установить выбранное значение в списке или вернуть выбранное/введенное пользователем значение.

Остальные свойства (AutoSize, Enabled, Locked, ControlText, ControlTipText, MaxLength) — применяются точно так же, как и для TextBox.

Главное событие для комбинированного списка — Change, то же, что и для TextBox. Обычно в обработчике этого события проверяются введенные пользователем значения, эти значения переносятся в текстовое поле или ListBox (если нужно дать пользователю возможность выбрать несколько значений, поскольку свойства MultiSelect у ComboBox нет) и т.п.

1.4 Элемент управления ListBox (список)

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

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

¾ пользователь не может вводить свои значения — только выбирать из готовых.

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

Обычно ListBox используется:

¾ как промежуточное средство отображения введенных/выбранных пользователем через ComboBox значений (или любых других списков, например, списков выбранных файлов);

¾ как средство редактирования списка значений, сформированных вышеуказанным образом или полученных из базы данных (для этого можно рядом с ListBox разместить кнопки Удалить или Изменить).

Основные свойства, методы и события у ListBox — те же, что и у ComboBox. Главное отличие — то, что имеется свойство MultiSelect, которое позволяет пользователю выбирать несколько значений. По умолчанию это свойство отключено.

1.5 Элемент управления CommandButton (кнопка)

Элемент управления CommandButton (кнопка) — самый распространенный элемент управления в формах.

Главное событие для кнопки — это, конечно, Click. Как правило, к этому событию и привязывается тот программный код, ради которого создавалась кнопка.

Самые важные свойства кнопки:

¾ Cancel — если для него установить значение True, то это значит, что кнопка будет нажиматься при нажатии на клавишу <Esc>. Как правило, на такие кнопки помещаются надписи типа "Отмена", "Выход", "Вернуться в окно приложения". Однако кроме назначения клавише <Esc>, ничего больше этой кнопке такое свойство не дает. Необходимо будет еще добавить код в обработчик события Click, например, такой:

Unload Me

¾ Caption — надпись, которая будет на кнопке;

¾ Default — такая кнопка будет считаться нажатой, если пользователь нажал на клавишу <Enter>, а фокус находился в другом месте формы (но не на другой кнопке). Обычно такие кнопки являются главными, по которым выполняется действие, ради которого создавалась форма (печать отчета, занесение информации в базу данных, отправка почты и т.п.);

¾ Picture — если просто надпись вас не устраивает, можно назначить кнопке рисунок;

1.6 Элементы управления ScrollBar (полоса прокрутки) и SpinButton (счетчик)

Полосы прокрутки (ScrollBars) чаще всего встречаются в текстовых полях, когда введенный текст полностью на экране не умещается. Однако ничего не мешает вам использовать ScrollBar как отдельный элемент управления (пользователи часто называют его "ползунок") — для выбора пользователем какого-то значения из диапазона.

Главные свойства выглядят так:

¾ Max и Min — максимальное и минимальные значения, которые можно задать при помощи этого элемента управления. Возможный диапазон — от -32 767 до +32 767. При этом максимальное значение вполне может быть меньше минимального — просто ползунок придется тянуть в обратную сторону.

¾ LargeChange и SmallChange — какими шагами будет двигаться ползунок при перемещении его пользователем (путем щелчка на полосе ниже ползунка или при нажатии на кнопку направления соответственно).

¾ Orientation — определяет расположение ползунка (вертикальное или горизонтальное). По умолчанию для этого свойства установлено значение 1, что значит, что ориентация определяется автоматически в зависимости от конфигурации отведенного элементу управления пространства на форме (что больше — длина или высота).

¾ ProportionalThumb — определяет размер ползунка: будет ли он пропорционален размеру полосы прокрутки (по умолчанию) или фиксированного размера.

¾ Value — главное свойство этого элемента управления. Определяет положение ползунка и то значение, которое будет возвращать этот элемент управления программе.

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

Private Sub ScrollBar1_Change()

Label1.Caption = ScrollBar1.Value

End Sub

1.7 Элемент управления Image (рисунок)

Позволяет отобразить на форме рисунок в одном из распространенных форматов, который будет реагировать на щелчок мышью (а может просто использоваться для украшения формы). Некоторые замечания по использованию Image:

¾ еще две альтернативы — применение свойства Picture для элементов управления Label или CommandButton. Функциональность получается практически одинаковая;

¾ при использовании этого элемента управления само изображение копируется внутрь документа и внешний его файл больше не нужен.

Главное событие элемента управления Image — событие Click. Главные свойства:

¾ Picture — позволяет выбрать само изображение для формы;

¾ PictureAlignment — позволяет выбрать местонахождение изображения в отведенной ему области. По умолчанию — по центру;

¾ PictureSizeMode — позволяет выбрать режим растяжения/уменьшения элемента в случае, если он не точно соответствует размеру области;

¾ PictureTiling — размножать ли маленький рисунок, чтобы он покрыл все отведенную ему область (делать "черепицу").

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...