Задание
1. Создать программу «Времена года», по которой в зависимости от выбранного
положения переключателя (зима, весна, лето, осень) выдается изображение соответствующего
времени года.
1. Запустить VBA и создать новый проект.
2. Переименовать форму - «Времена года».
3. Добавить на форму объекты:
Объект |
Свойство |
Значение |
Label (надпись) |
Name |
LabelSeason |
Caption |
Времена года |
|
Font |
Tahoma, 22 |
|
Image (рисунок) |
Name |
Image1 |
Visible |
False (вначале рисунок невидим) |
|
PictureSizeMode |
1 |
|
Picture |
(вставить рисунок зимы) |
|
Height |
180 |
|
Width |
180 |
|
Command Button (кнопка) |
Name |
CmdExit |
Caption |
Выход |
|
Frame (рамка) |
Name |
Frame1 |
Caption |
Выберите время года |
|
Font |
Tahoma, 12 |
1
Объект |
Свойство |
Значение |
|
Все переключатели располагаются на рамке Frame1 (перед вставкой на поле, выделить рамку). При расстановке переключателей на форме растягиваем прямоугольную область так, чтобы справа было место для подписи |
|||
OptionButton (переключатель) |
Name |
OptWinter |
|
Caption |
Зима |
||
ForeColor |
(синий – выбирается в палитре Pelette) |
||
Font |
Tahoma, 14, полужирный |
||
OptionButton (переключатель) |
Name |
OptSpring |
|
Caption |
Весна |
||
ForeColor |
(светло-зеленый) |
||
Font |
Tahoma, 14, полужирный |
||
OptionButton (переключатель) |
Name |
OptSummer |
|
Caption |
Лето |
||
ForeColor |
(темно-зеленый) |
||
Font |
Tahoma, 14, полужирный |
||
OptionButton (переключатель) |
Name |
OptAutumn |
|
Caption |
Осень |
||
ForeColor |
(оранжевый) |
||
Font |
Tahoma, 14, полужирный |
||
4. Включить проверку переменных (Option Explicit).
5. Запрограммировать щелчок на кнопке Выход на завершение программы.
6. Запрограммировать щелчок на переключателях:
a) Запрограммировать переключатель Зима (OptWinter), чтобы в поле рисунка загружался файл, например, winter.jpg (свойство Picture и функция LoadPicture). Поскольку каталог с приложением может находиться в разных папках, то к имени файла надо добавить путь к файлу с приложением (ActiveWorkbook.Path). После этого надо поле с рисунком сделать видимым (свойство Visible).: Private Sub OptWinter_Click()
Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\winter.jpg")
Image1.Visible = True
End Sub
b) Аналогично запрограммировать остальные переключатели.
Задание 2. Добавить флажок, при включении которого в дополнительной рамке появляются названия месяцев, относящиеся к выбранному сезону.
1. Добавить на форму объекты:
Объект |
Свойство |
Значение |
Frame (рамка) |
Name |
Frame2 |
Caption |
Месяцы |
|
Font |
Tahoma, 12 |
|
Следующие объекты располагаются на рамке Frame2 (перед вставкой на поле, выделить рамку): |
||
Label (3 надписи) |
Name |
Label1, Label2, Label3 |
Caption |
|
|
Font |
Tahoma, 14 |
|
TextAlign |
2 |
|
CheckBox (флажок) |
Name |
CheckBox1 |
Font |
Tahoma, 12 |
2. Создать процедуру пользователя Month, по которой проверяется, включен ли флажок; если да (значение True), то в зависимости от того, где стоит переключатель вывести названия месяцев; если флажок не выбран (значение
False), то все значения надписей очищаются:
Private Sub Month()
If CheckBox1 Then
If OptWinter Then Label1="Декабрь" : Label2="Январь" : Label3="Февраль"
If OptSpring Then Label1="Март" : Label2="Апрель" : Label3="Май"
If OptSummer Then Label1="Июнь": Label2="Июль" : Label3="Август" If OptAutumn Then Label1="Сентябрь": Label2="Октябрь": Label3="Ноябрь"
Else
Label1 = "": Label2 = "": Label3 = ""
End If
End Sub
3. Запрограммировать щелчок на флажке, который позволял бы для выбранного переключателя выводить названия месяцев. Для этого достаточно вызвать процедуру Month:
Private Sub CheckBox1_Click()
Call Month
End Sub
4. Отредактировать процедуры щелчка мышью по переключателям таким образом, чтобы при выборе времени года на надписях Label1, Label2, Label3 появлялись соответствующие названия месяцев.
Например, для зимы:
Private Sub OptWinter_Click()
Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\winter.jpg")
Image1.Visible = True
Call Month
End Sub
5. Программа «Каталог» Самостоятельная работа.
Задание. Создать программу «Каталог». Комментарии.
В зависимости от выбранного положения переключателя (компьютер, монитор, принтер, сканер) выдается соответствующее изображение.
Также на форме имеется флажок Цена, при выборе которого в специально отведенном поле выдается цена товара (например, 32000 для компьютера), если флажок отключают, то надпись очищается.
Приложение в режиме конструктора
(по умолчанию все переключатели и флажок выключены, рисунок – произвольный)
Работа приложения
(переключатель в
положении Компьютер, флажок Цена включен)
4. «Времена года» (задание 1).
Option Explicit
Private Sub CmdExit_Click()
End
End Sub
Private Sub OptAutumn_Click()
Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\Autumn.jpg")
Image1.Visible = True
End Sub
Private Sub OptSpring_Click()
Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\spring.jpg")
Image1.Visible = True
End Sub
Private Sub OptSummer_Click()
Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\summer.jpg")
Image1.Visible = True
End Sub
Private Sub OptWinter_Click()
Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\winter.jpg")
Image1.Visible = True
End Sub
Private Sub CheckBox1_Click()
Call Month End Sub
4. «Времена года» (задание 2).
Private Sub CmdExit_Click()
End
End Sub
Private Sub OptAutumn_Click()
Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\Autumn.jpg")
Image1.Visible = True
Call Month
End Sub
Private Sub OptSpring_Click()
Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\spring.jpg")
Image1.Visible = True
Call Month
End Sub
Private Sub OptSummer_Click()
Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\summer.jpg")
Image1.Visible = True
Call Month
End Sub
Private Sub OptWinter_Click()
Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\winter.jpg")
Image1.Visible = True
Call Month
End Sub
Private Sub Month()
If CheckBox1 Then
If OptWinter Then Label1 = "Декабрь": Label2 = "Январь": Label3 = "Февраль"
If OptSpring Then Label1 = "Март": Label2 = "Апрель": Label3 = "Май"
If OptSummer Then Label1 = "Июнь": Label2 = "Июль": Label3 = "Август" If OptAutumn Then Label1 = "Сентябрь": Label2 = "Октябрь": Label3 = "Ноябрь"
Else
Label1 = "": Label2 = "": Label3 = ""
End If
End Sub
5. «Каталог».
Option Explicit
Private Sub CheckBox_Click()
Call Price
End Sub
Private Sub CmdExit_Click()
End
End Sub
Private Sub OptComputer_Click()
Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\computer.jpg") Call Price
End Sub
Private Sub OptMonitor_Click()
Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\monitor.jpg") Call Price
End Sub
Private Sub OptPrinter_Click()
Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\printer.jpg") Call Price
End Sub
Private Sub OptScaner_Click()
Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\scaner.jpg") Call Price
End Sub
Private Sub Price()
'Моя процедура
If CheckBox Then
If OptComputer Then LabelPrice = 32000
If OptMonitor Then LabelPrice = 8700
If OptPrinter Then LabelPrice = 10500
If OptScaner Then LabelPrice = 2200
Else
LabelPrice = ""
End If
End Sub
Примечание.
Казалось бы можно было сделать процедуру с параметром Private Sub Price(x as Currency), где х – цена товара. Но поскольку данная процедура вызывается еще из процедуры CheckBox_Click(), где значение х неопределенно, то это не рационально.
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.