Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA_lektsii.doc
Скачиваний:
8
Добавлен:
01.04.2025
Размер:
3.91 Mб
Скачать

Начальные условия

1. При создании формы присвойте следующие имена элементам управления:

  • кнопке ОК – cmdOK;

  • кнопке Отмена – cmdОтмена;

  • полю ввода – txtПароль;

2. Саму форму назовите frmПароль.

Выполнение задания:

  1. В редакторе VBA создайте форму, представленную на рис.12.10.

Надписи на кнопках ОК и Отмена задайте в окне свойств этих кнопок.

2. В модуле формы наберите код инициализации формы. Для этого дважды щелкните по форме (на экране появится пустая процедура Private Sub UserForm_Click()), в списке процедур выберите процедуру Initialize, а затем введите код:

Private Sub UserForm_Initialize()

cmdOK.Default = True

cmdОтмена.Cancel = True

With txtПароль

.PasswordChar = "*"

. MaxLength = 7

End With

End Sub

3. Дважды щелкните по кнопке cmdOK в форме и введите код для обработки события «Щелчок по кнопке OK»:

Рис. 12.10. Конструирование формы Пароль

Private Sub cmdOK_Click()

Dim Пароль As String

'Определяем пароль, который должен _

ввести пользователь:

Пароль = "Student"

If txtПароль.Text = LCase(Пароль) Then

MsgBox "Пароль введен правильно!"

Unload Me

Else

With txtПароль

.Text = Empty

.SetFocus

End With

End If

End Sub

4. Дважды щелкните по кнопке cmdОтмена и введите код для обработки события «Щелчок по кнопке Отмена»:

Private Sub cmdОтмена_Click()

Unload Me

End Sub

5. Протестируйте работу программы при правильном и неправильном пароле.

12.6. Список (ListBox)

Элемент управления Список создается кнопкой ListBox (рис. 12.11). Этот элемент используется для отображения данных, организованных списком. В списке пользователь может выбрать одно или несколько значений.

Рис. 12.11. Список Группа в форме в режиме конструирования

Рис. 12.12. Этот же список во время выполнения программы

ОБРАТИТЕ ВНИМАНИЕ: в режиме конструирования список похож на поле ввода. Во время выполнения программы, если в список не помещаются все его элементы, появляются линейки прокрутки (рис. 12.12).

Основным событием, связанным со списком, является событие Change.

12.6.1. Основные свойства элемента управления ListBox

Перечислим основные свойства списка.

Свойство

Описание

ListIndex

Возвращает номер выбранного элемента списка. Нумерация элементов списка начинается с нуля (всегда!!!). Если ни один элемент не выбран, то возвращается –1.

ListCount

Возвращает количество элементов в списке.

TopIndex

Возвращает элемент списка с наибольшим номером

СolumnCount

Устанавливает число колонок в списке (рис. 12.13)

lstCотрудник.СolumnCount = 2

Рис. 12.13. Список с двумя колонками

Text

Возвращает выбранный в списке элемент.

List

Заполняет список из массива

lstГруппа.List = Группы, где Группы – массив групп.

Возвращает элемент списка, стоящий на пересечении указанной строки и столбца.

Синтаксис: List(row,column)

RowSource

Устанавливает диапазон, содержащий элементы списка.

MultiSelect

Устанавливает способ выбора элементов списка:

  • fmMultiSelectSingle – выбор только одного элемента;

  • fmMultiSelectMulti– выбор нескольких элементов. Осуществляется либо щелчком мышки, либо клавишей [Пробел]. Повторный щелчок по выбранному элементу снимает его выделение;

  • fmMultiSelectExtended – использование клавиши [Shift] для выбора ряда последовательных элементов.

Selected

Логическое свойство, которое возвращает значение True, если элемент списка выбран, и False – в противном случае. Используется для определения выбранного элемента, когда значение свойства MultiSelect установлено равным fmMultiSelectMulti или fmMultiSelectExtended.

СolumnWidths

Устанавливает ширину столбцов.

Синтаксис: СolumnWidths = String ,

где String – строка, устанавливающая ширину столбцов.

В следующем примере устанавливается ширина каждого из трех столбцов списка:

With lstПреподаватели

.СolumnCount = 3

.СolumnWidths = "50;40;40"

End With

СolumnHeads

Логическое свойство, определяющее, выводить ли в списке заголовки колонок

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]