VBA для тех кто любит думать


VBA и Office XP - часть 113


 

06_06.bmp

Рис. 6.6. Выпадающий список в левом верхнем углу - навигатор по программам элементов формы.

 

Так… появился фрагмент кода:

 

Private Sub TextBox1_Change()

End Sub

 

"Change" - это по-английски "изменение". Код, написанный в этой части программы (часть эта называется "обработчик события "Change"), должен выполняться всякий раз при происхождении этого события. Можно предположить, что это событие происходит тогда, когда в поле ввода ввели какой-либо символ или удалили его оттуда. В этом случае это - именно то событие, которое нам надо. Но то ли? Проверим. Напишем-ка здесь строчку:

 

Private Sub TextBox1_Change()

TextBox6.Text=TextBox1.Text

End Sub

 

Пусть для эксперимента при изменении текста в первом поле ввода произойдет изменение текста в поле отображения результата. Проверим, будет ли это работать, - нажмем F5 (запуск программы на выполнение) и введем текст в первое поле ввода.

Прекрасно - в поле отображения результата появляется тот же текст! Значит, событие "Change" - именно то, которое нам надо использовать в нашей программе, чтобы после каждого нового ввода данных пользователем проверять условия возможности отображения результата и отображать его в случае их выполнения. Ну, а если бы оно нам не подошло, то пришлось бы перебирать все остальные события из выпадающего списка вверху справа окна программного кода формы и для каждого проводить такое же исследование: помещать в обработчик этого события команду, выполняющую какое-либо действие и смотреть, будет ли она выполнена при вводе текста в первое поле ввода.

Проверка возможности подсчета результата и вывод его в случае соблюдения описанных выше условий должна происходить после каждого ввода какого-либо символа в любое из окон ввода, а также при удалении символа из любого окна ввода. Писать пять одинаковых программ для каждого из окон ввода представляется нецелесообразным, поэтому лучше проверку возможности отображения результата и его подсчет вынести в отдельную подпрограмму-процедуру, а из каждого обработчика события "Change" полей ввода ее вызывать.




Начало  Назад  Вперед