Довольно простое задание по информатике — написать программу на VBA (пересчет температуры):
С помощью языка программирования VBA разработать программу пересчета температуры, измеренной по шкале Цельсия, в температуру по шкалам Фаренгейта и Реомюра.
Формулы пересчета:
1) T°F=(9/5T + 32)°C
2) T°C=(4/5T )°R
Выполнить это задание можно в любой программе из пакета MS Office. Будем делать в Word.
В редакторе Visual Basic (alt+F11) создаем главную форму программы – frmMain. Ширина – 365, высота 220. Заголовок (Caption) формы: «Пересчет температуры». На форме расположены четыре надписи (Label), три поля ввода (одно, tbCels, – для ввода значений температуры по Цельсию, два других, tbFahrenheit и tbR, для вывода рассчитанной температуры по Фаренгейту и Реомюру), две кнопки – btnCalc (для расчета) и btnCancel (для выхода из программы).
Форма программы VBA в режиме разработки
Рис.1 — Форма в режиме разработки
Текст программы
Функции использованы стандартные, из VBA. Форму можно украсить или изменить. Если при открытии документа Word форма не появляется, нужно поменять уровень безопасности на средний (Сервис->Макрос->Безопасность). В этом случае при открытии будет выдан запрос на отключение макросов. Следует нажать кнопку «Не отключать макросы».
С помощью языка программирования VBA разработать программу пересчета температуры, измеренной по шкале Цельсия, в температуру по шкалам Фаренгейта и Реомюра.
Формулы пересчета:
1) T°F=(9/5T + 32)°C
2) T°C=(4/5T )°R
Выполнить это задание можно в любой программе из пакета MS Office. Будем делать в Word.
В редакторе Visual Basic (alt+F11) создаем главную форму программы – frmMain. Ширина – 365, высота 220. Заголовок (Caption) формы: «Пересчет температуры». На форме расположены четыре надписи (Label), три поля ввода (одно, tbCels, – для ввода значений температуры по Цельсию, два других, tbFahrenheit и tbR, для вывода рассчитанной температуры по Фаренгейту и Реомюру), две кнопки – btnCalc (для расчета) и btnCancel (для выхода из программы).
Форма программы VBA в режиме разработки
Рис.1 — Форма в режиме разработки
Текст программы
Option Explicit‘нажатие кнопки «Вычислить»
Private Sub btnCalc_Click()
Dim C As Double 'переменная для обозначения температуры по Цельсию
Dim T As Double 'переменная для расчетов
'Очищаем текстовые поля от предыдущих значений и устанавливаем фокус на поле ввода значения температуры по Цельсию
tbFahrenheit.Text = ""
tbR.Text = ""
tbCels.SetFocus
'Если не введено значение, то выдается предупреждение пользователю
If Len(tbCels.Text) = 0 Then
MsgBox "Не введена температура по Цельсию"
tbCels.SetFocus
'если введенное значение некорректно, то выдается предупреждение, поле ввода очищается
ElseIf IsNumeric(tbCels.Text) = False Then
MsgBox "Введено неверное значение температуры"
tbCels.Text = ""
tbCels.SetFocus
'иначе делаем расчет и выводим значения в текстовые поля,
'преобразовав их предварительно в строку
Else
C = CDbl(tbCels.Text)
T = C * 9 / 5 + 32
tbFahrenheit.Text = CStr(T)
T = 5 * C / 4
tbR.Text = CStr(T)
End If
End Sub
‘ закрываем форму, кнопка Отмена
Private Sub btnCancel_Click()
hide
End Sub
‘Форма будет запускаться при открытии документа
Private Sub Document_Open()
frmMain.Show
End Sub
Функции использованы стандартные, из VBA. Форму можно украсить или изменить. Если при открытии документа Word форма не появляется, нужно поменять уровень безопасности на средний (Сервис->Макрос->Безопасность). В этом случае при открытии будет выдан запрос на отключение макросов. Следует нажать кнопку «Не отключать макросы».
