К пункту 1 задания (работа с переключателями и текстовым полем):
1. В окне Project Explorer два раза щелкните мышью по объекту формы UF1. Затем в ToolBox щелкните по объекту Label и отведите место этому элементу управления в верхней части формы. Щелкните правой кнопкой мыши по созданному элементу управления Label1 и в контекстном меню выберите Properties. Измените значение свойства Caption на "За что:" и при помощи свойства Font подберите подходящий шрифт и его размер.
2. В ToolBox щелкните по элементу управления OptionButton и отведите на форме место этому элементу управления. Повторите эту операцию еще два раза.
3. Откройте свойства первого переключателя. Измените значение свойства Name на optOsvoenie, а значение свойства Caption — на "освоение новых информационных технологий". Для второго переключателя поменяйте значение свойстваName на optVnedrenie и свойствоCaption— на "внедрение новыхпрограммных продуктов", для третьего— на optDrugoe и "другое:" соответственно.
4. В ToolBox щелкните по элементу управления TextBox и поместите его в нужное место формы. Установите для свойства Name этого элемента управления значение txtDrugoe.
5. Щелкните правой кнопкой мыши по пустому месту на форме и в контекстном меню выберите View Code. В списке событий в верхней части окна редактора кода выберите событие Initialize для UserForm и введите для него следующий код:
optOsvoenie.Value = True
txtDrugoe.Visible = False
6. Для события Change переключателя optDrugoe введите следующий код:
If optDrugoe.Value = True Then
txtDrugoe.Visible = True
Else
txtDrugoe.Visible – False
End If
7. Перейдите к коду события Click для CommandButton1 и вместо строки:
sPovod = "освоении новых информационных технологий"
введите следующий код:
If optOsvoenie.Value = True Then sPovod = _
"освоении новых информационных технологий"
If optVnedrenie.Value = True Then sPovod = _
"внедрении новых программных продуктов"
If optDrugoe.Value = True Then sPovod = txtDrugoe.Value
8. Запустите форму на выполнение, напечатайте приказ и убедитесь, что все работает согласно поставленным условиям.
К пункту 2 задания (работа с комбинированным списком):
1. Разместите на форме еще один элемент управления Label с надписью "Кого : " и настройте для него шрифт.
2. Щелкните в Toolboxпо элементу управления ComboBox и выделите для него место на форме. Присвойте созданному элементу управления ComboBox имя sFio.
3. Откройте код для события Initialize нашей формы UserForm и дополните его следующими строками:
Dim oColumn As Range
Dim oCell As Range
Set oColumn = Columns("A")
For Each oCell In oColumn.Cells
If oCell.Value о "" Then
cbFIO.Addltem oCell.Value
End If
Next cbFIO.Listlndex = 0
4. Перейдите к коду события Click для CommandButton1 и вместо строки:
sFio = "Иванова Ивана Ивановича"
введите следующий код:
sFio = cbFIO.Value
5. Запустите форму на выполнение и убедитесь, что все работает нормально.
К пункту 3 задания (работа с флажками):
1. При помощи ТооШохпоместите на форму два элемента управления СheckBox. Для первого элемента свойству Name присвойте значение СhPremia и для свойства Caption — значение "Премия", для второго — chGramota и "Почетная грамота" соответственно.
2. Откройте код события Initialize формы UserForm и дополните его следующими строками:
chPremia.Value = True
chGramota.Value = True
3. Перейдите к коду события Сlick для CommandButton1 и вместо строк:
bFlagPremia = True bFlagGramota = True
введите следующий код:
bFlagPremia = chPremia.Value
bFlagGramota = chGramota.Value
If bFlagPremia = False And bFlagGramota = False Then
MsgBox "He выбрана ни премия, ни почетная грамота!" Exit Sub
End If
4. Запустите форму на выполнение и убедитесь, что все работает нормально.
К пункту 4 задания (применение полосы прокрутки и дублирующего текстового поля):
1. Поместите на форму еще один элемент управления Label с надписью
"Сумма премии:". Присвойте его свойству Name значение lblSum.
2. Поместите рядом текстовое поле и присвойте его свойству Name значение txtSum.
3. Разместите под текстовым полем элемент управления ScrollBar и присвойте следующие значения его свойствам:
· Name — значение sbSum;
· Min — значение 0;
· Мах — значение 100 000;
· SmallChange — значение 100.
4. Для события Change элемента управления sbSum введите следующий код:
txtSum.Value = sbSum.Value
5. Для события change элемента управления txtSum введите следующий код:
sbSum.Value = CLng(txtSum.Value)
Такой код является потенциально опасным, поскольку не проверяется вводимое пользователем в текстовом поле значение. Если это значение будет невозможно преобразовать в числовое или оно окажется больше 100 000, то возникнет ошибка времени выполнения. Как предупреждать появление ошибок и перехватывать их, будет рассмотрено в гл. 6.
6. Для события Initialize нашей формы UserForm добавьте следующий код:
sbSum.Value = 100
txtSum.Value = 100
7. Для события Change элемента управления chPremia добавьте следующий код:
If chPremia.Value = False Then
lblSum.Visible = False
txtSum. Visible = False
sbSum.Visible = False
Else
lblSum.Visible = True
txtSum. Visible = True
sbSum.Visible = True
End If
8. Для кода Click кнопки CommandButtonl вместо кода: nSummaPremii = 100000
впишите код: nSummaPremii = sbSum.Value
9. Запустите форму на выполнение и убедитесь, что все работает нормально.
К пункту 5 задания (применение кнопки):
1. Разместите на поле еще одну кнопку и настройте значения ее свойств следующим образом:
· Name — значение btnEscape;
· Caption — значение "Отмена";
· Cancel — значение True.
2. Для события click этой кнопки поместите код
Unload Me
К пункту 6 задания (изменение заголовка формы):
1. Щелкните правой кнопкой мыши по пустому месту на форме и в контекстном меню выберите Properties.
2. Для свойства Caption настройте значение "Формирование приказа о выплате премии".
3. Запустите форму на выполнение и убедитесь, что приказы печатаются правильно.