Создание пользовательской формы
Шаг 1
Выберите команду Вставить UserForm (Insert UserForm). В редакторе Visual Basic появится:
· Окно с пользовательской формой
· Панель инструментов Панель элементов (Toolbox).
Должно получиться вот так:
Шаг 2
Используя диалоговое окно Свойства (Properties), отображаемое нажатием кнопки и Панель элементов (Toolbox), создайте из пользовательской формы диалоговое окно, показанное на рис 4.2.
Это окно состоит из трех кнопок и одного поля. Свойство Caption пользовательской формы определите равным Песнь о воробушке и бабочке, а кнопок - равными Первый акт, Второй акт и Третий акт.
Шаг 3
Для того чтобы написать процедуру обработки события нажатия кнопки Первый акт, дважды щелкните ее. Активизируется модуль UserForm1, в которой введите процедуру:
Private Sub CommandButton1_Click()
TextBox1.Text="Воробышек за бабочкой прыг-прыг-прыг"
End Sub
Для обработки событий нажатий кнопок Второй и Третий акт в модуле UserForm1 введите следующие две процедуры:
Private Sub CommandButton2_Click()
TextBox1.Text="Воробышек за бабочкой скок-скок-скок"
EndSub
Private Sub CommandButton3_Click()
TextBox1.Text="Воробышек бабочку ням-ням-ням"
End Sub
Шаг 4
Процесс создания диалогового окна и процедур, связанных с ним, завершен. Для того чтобы проверить, как работает созданная программа, нажмите кнопку Запуск подпрограммы/User form (Run) . На экране на фоне рабочего листа отобразится диалоговое окно Песнь о воробушке и бабочке. В поле выведется сообщение Воробышек за бабочкой скок-скок-скок, при нажатой клавише «Акт второй» Рис.4.3.
Для закрытия диалогового окна «Песнь о воробушке и бабочке» нажмите системную кнопку, расположенную в верхней правой части строки заголовка диалогового окна.
Задание для индивидуального выполнения
по теме «Работа с объектами в Microsoft Excel»
Задание И 4.1 .Работа с объектами
Написать код, который подготовит личную карточку человека, содержащую следующие сведения: Фамилия, Имя, Отчество, Дата рождения, Домашний адрес, Телефон.
Указание
Для заголовка личной карточки используйте: шрифт – Times New Roman, размер шрифта – 14 пт, начертание шрифта – полужирное (Bold), цвет шрифта – красный (ColorIndex). Для названий полей личной карточки используйте: шрифт – Arial Cyr, размер шрифта – 10 пт, начертание шрифта – курсив (Italic), цвет шрифта – синий (ColorIndex). Установите необходимую ширину колонки и уберите лишние листы.
Используйте нижеприведенный код за основу всей программы.
Sub People()
Worksheets(1).Name = "Человек" 'Первый лист изменяет название
Worksheets(1).Select 'Выделение первого листа
Cells(1, 1).Select 'Выделение первой ячейки
ActiveCell.Font.Size = 14 'Размер шрифта активной ячейки
ActiveCell.Font.ColorIndex = 3 'Цвет красный
ActiveCell.Value = "Личная карточка" 'Запись "Личная карточка"
Columns("a:a").ColumnWidth = 40 'Ширина первого столбца 40
End Sub
Задание И 4.2.Работа с формами
Создать приложение, которое позволит создать форму для работы с базой данных студентов. Задание выполнять на основе результата Задания 1. Пользовательская форма должна появляться на рабочем листе по нажатию кнопки «Карточка»
- Создайте форму, изображенную на рисунке
Нажатие кнопки «Занести в Базу Данных» должно привести к сохранению всех данных на рабочем листе.
Указание
При нажатии на кнопку «Занести в Базу Данных» важно чтобы каждая новая запись не затирала предыдущую, а записывалась на строку ниже..
ПРИМЕР РАБОТЫ С ФОРМАМИ
Создать приложение, которое позволит выбрать несколько чисел, выводимых в списке.
- Создайте форму изображенную на рисунке
В группе Операция следует установить один из переключателей: Сумма, Произведение или Среднее, чтобы указать, какая операция будет выполняться над выбранными числами. Нажатие кнопки Вычислить должно привести к выполнению операции и выводу результата в поле Результат.
- На листе модуля введите следующую программу.
1. Private Sub CommandButton1_Click()
2. Dim i As Integer
3. Dim n As Integer
4. Dim Сумма As Double
5. Dim Произведение As Double
6. Dim Среднее As Double
7. Dim Результат As Double
8. If OptionButton1.Value = True Then
9. Сумма = 0
10. With ListBox1
11. For i = 0 To .ListCount - 1
12. If .Selected(i) = True Then
13. Сумма = Сумма + .List(i)
14. End If
15. Next i
16. End With
17. Результат = Сумма
18. End If
19. If OptionButton2.Value = True Then
20. Произведение = 1
21. With ListBox1
22. For i = 0 To .ListCount - 1
23. If .Selected(i) = True Then
24. Произведение = Произведение * .List(i)
25. End If
26. Next i
27. End With
28. Результат = Произведение
29. End If
30. If OptionButton3.Value = True Then
31. Среднее = 0
32. n = 0
33. With ListBox1
34. For i = 0 To .ListCount - 1
35. If .Selected(i) = True Then
36. n = n + 1
37. Среднее = Среднее + .List(i)
38. End If
39. Next i
40. End With
41. Результат = Среднее / n
42. End If
43. TextBox1.Text = CStr(Format(Результат, "Fixed"))
44. End Sub
45.
46. Private Sub CommandButton2_Click()
47. UserForm1.Hide
48. End Sub
49.
50. Private Sub Frame1_Click()
51.
52. End Sub
53.
54. Private Sub ListBox1_Click()
55.
56. End Sub
57.
58. Private Sub UserForm_Initialize()
59. With ListBox1
60. .List = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
61. .ListIndex = 0
62. .MultiSelect = fmMultiSelectMulti
63. End With
64. TextBox1.Enabled = False
65. End Sub
66.
67. Private Sub UserForm_Click()
68.
69. End Sub
Контрольные вопросы
1. Определите понятие объекта для VBA.
2. Объясните различие между понятиями свойства и методы объекта.
3. Какие из свойств объектов можно не указывать?
4. Опишите параметры, которые могут указываться для метода сохранения файла.
5. Опишите инструкцию With.
6. Опишите отличия методов Save и SaveAs.
7. Можно ли записать макрос, с помощью которого можно выполнить сохранение рабочей книги, закрытие рабочей книги и закрытие приложения.
8. Раскройте понятие «форма»
9. Какова структура процедуры в VBA?
Библиографический список
1. В.Е. Торчинский, В.Д. Тутарова, А.Н. Калитаев, Е.А. Ильина Практикум по программированию на языке С++: учебное пособие. – Магнитогорск: МГТУ, 2009 –108 с.
2. О.С. Логунова, Е.А. Ильина, А.А. Стороженко, Ю.Б. Кухта, М.Н. Егорова, С.М. Логунов Практикум по информатике для программистов: учебное пособие. – Магнитогорск: МГТУ, 2007 –301с.
3. Н.Б. Культин Visual Basic. Освой на примерах. – СПб.: БХВ-Петербург, 2004.–288с.
4. И.Н Серебренникова, Г.М. Коринченко, Т.Н. Носова, Л.Л. Демиденко Решение задач в среде VBA: учебное пособие. – Магнитогорск: МГТУ, 2007 –162с.
5. Электронное пособие по формам в VBA.