Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_9.doc
Скачиваний:
8
Добавлен:
01.05.2025
Размер:
554 Кб
Скачать
☆
  1. Введите код

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

Сохраните файл Адреса.xls

6. Добавление кодов, проверяющих корректность вводимых данных.

Необходимо добавить коды, которые при нажатии клавиш Далее и Готово проверяют корректность вводимых данных. При этом должно проверяться, что:

 заполнены поля Имя, Фамилия, Город и Адрес;

 выбрана область;

 в поле почтового индекса содержится шесть символов.

После проверки, если все корректно, данные вводятся в ячейки рабочего листа, поля формы очищаются и она отображается для ввода следующего набора данных.

Процедуру можно вызывать из процедур обработки события Click кнопок Далее и Готово.

Порядок создания процедуры

  1. Откройте окно редактора кодов формы.

  2. Выберите команду Вставить Процедуру.

  3. Наберите название процедуры Проверка_Данных, в окне Type выберите вариант Function.

  4. OK.

Код процедуры приведен ниже. Добавьте к своей программе представленный код и сохраните файл Адреса.xls.

Public Function Проверка_Данных() As Boolean

If txtName.Value = "" Then

MsgBox "Введите имя."

Проверка_Данных = False

Exit Function

End If

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

Фамилия

Город

Адрес

If Region.Value = "" Then

MsgBox "Вы должны выбрать область."

Проверка_Данных = False

Exit Function

End If

If txtIndex.TextLength <> 6 Then

MsgBox "Вы должны ввести 6 символов индекса."

Проверка_Данных = False

Exit Function

End If

Проверка_Данных = True

End Function

  1. Окончание проекта.

Для завершения необходимо написать процедуры обработки событий Click для трех элементов управления командных клавиш Отмена, Готово и Далее.

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

Следует также написать код для очистки полей экранной формы. Такие действия должны выполняться после щелчка по любой из командных клавиш. Код для удаления набранных данных в полях формы будет помещен в процедуру ClearForm.

Добавьте эту процедуру к своему проекту.

Таким образом, на этом этапе необходимо написать пять процедур.

Пояснения к создаваемым процедурам:

С помощью свойства CurrentRegion объекта Range определяется диапазон r, в котором размещена вся таблица, размер которой заранее может быть неизвестен.

Set r1 = r.Offset(r.Rows.Count, 0) – диапазон r1 смещен вниз относительно диапазона r на величину равную количеству строк (r.Rows.Count) в диапазоне r.

Процедура EnterData

Public Sub EnterData ()

' Копирует данные из UserForm

' в следующую строку списка на рабочем листе.

Dim r As Range, r1 As Range

Set r = Worksheets("Адреса").Range("A2").CurrentRegion

Set r1 = r.Offset(r.Rows.Count, 0)

r1.Cells(1,1).Value = txtName.Value

r1.Cells(1,2).Value = txtFIO.Value

r1.Cells(1,4).Value = txtTown.Value

r1.Cells(1,5).Value = txtAdres.Value

r1.Cells(1,3).Value = Region.Value

r1.Cells(1,6).Value = txtIndex.Value

End Sub

Процедура ClearForm

Public Sub ClearForm()

' Clears all data from the form.

txtName.Value = ""

txtFIO.Value = ""

txtTown.Value = ""

txtAdres.Value = ""

txtIndex.Value = ""

Region.Value = ""

End Sub

Сохраните файл Адреса.xls

Процедуры обработки события Click для командных кнопок.

Коды этих процедур, показанные ниже добавьте к кодам экранной формы и проект будет готов к работе.

Private Sub cmdCancel_Click()

ClearForm

Me.Hide

End Sub

Private Sub cmdDone_Click()

If Проверка_Данных = True Then

EnterData

ClearForm

Me.Hide

End If

End Sub

Private Sub cmdNext_Click()

If Проверка_Данных = True Then

EnterData

ClearForm

End If

End Sub

Сохраните файл Адреса.xls

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