Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

События




Методы

Свойства

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

Чтобы изменить характеристику объекта, в некоторых случаях, можно просто присвоить новое значение его свойству: object.property = PropertyValue. Однако многие свойства объекта модифицируются не непосредственно, а при помощи специальных подпрограмм объекта — методов. Такие свойства доступны только на чтение (Read only). Примером такого свойства является свойство Count, которое возвращает число объектов семейства. Например,

Application. Workbooks.Count — вернет количество открытых книг;

Application.WorkSheets.Count — вернёт количество листов в активной книге.

Свойство можно изменять сразу у всех объектов семейства. В приведенном ниже примере с помощью установки свойству visible (видимость) значения False (ложь) скрываются все рабочие листы активной книги (семейство объектов worksheets):

Worksheets.Visible = False

Как и свойства, методы при их применении отделяются точкой от названия объекта, т.е. если у класса есть метод Method1, то для применения этого метода объектом MyObject нужно записать

MyObject.Method1

Примером класса может служить класс UserForms. Пусть в программе «сконструирован» объект UserForms1. Для того чтобы сделать форму видимой нужно вызвать метод Show, а для того чтобы сделать эту форму невидимой — Hide. Т.е. после выполнения кода UserForms1.Show форма отобразится на экране, а после выполнения кода UserForms1.Hide пропадёт с экрана.

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

Initialize. Это с обытие происходит после загрузки формы, но до того как форма стала видимой.

Описание: Private Sub object _Initialize()

Здесь object — (экземпляр класса) UserForm или (экземпляр класса) UserForms.

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

QueryClose. Данное событие происходит перед закрытием пользовательской формы.

Private Sub UserForm_QueryClose(Cancel As Integer, Closemode As Integer)

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

Closemode — константа, указывающая причину события QueryClose.

Возможные значения Closemode

vbFormControlMenu 0 Пользователь выбрал Close в оконном меню формы

vbFormCode 1 В программе вызывается инструкция Unload

vbAppWindows 2 Конец текущего сеанса

vbAppTaskManager 3 Диспетчер задач Windows закрывает приложение

Когда приложение закрывается, пользователь может использовать процедуру обработки события QueryClose для присвоения значения True переменной Cancel, прекращая процесс закрытия. Основное предназначение таких действий — обеспечение сохранение данных перед закрытием формы.

BeforeUpdate. Это событие происходит перед сохранением измененного значения в элементе управления формы.

Private Sub object _BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)

Здесь object — подходящий элемент управления формы, например, TextBox.

Если Cancel присвоить значение True, то элемент управления не потеряет фокус, и события AfterUpdate и Exit не наступают. Основное предназначение обработчиков этого события — это проверка допустимости введенного пользователем значения и отказ от его сохранения, если введённое значение выходит за границы допустимых значений. Например, пусть в некоторой форме отображается количество внедрённых диаграмм на определённом листе книги в виде «надписи» и есть поле ввода, в которое пользователь может ввести номер листа. В поле вводить нужно число листов от 1 до максимального числа листов в книге. Но пользователь может допустить оплошность и ввести меньше одного или больше максимального числа. Эту оплошность необходимо сразу обнаружить и не допустить дальнейшего выполнения программы, которое может привести к возникновению ошибки в неожиданном месте.

AfterUpdate. Это событие происходит после события BeforeUpdate и до события Exit.

Private Sub object _AfterUpdate()

Здесь object — подходящий элемент управления формы, например, TextBox.

Основное назначение обработчика этого события — обновить значения элементов управления, зависящих от значения, которое было изменено. Продолжение примера предыдущего абзаца. После ввода нового номера листа нужно присвоить число внедренных диаграмм на этом новом листе «надписи». Это присвоение и делается в обработчике события AfterUpdate.




Поделиться с друзьями:


Дата добавления: 2014-11-07; Просмотров: 294; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.