- •Методические указания
- •Севастополь
- •Содержание
- •1 Цель работы
- •2 Краткие теоретические сведения
- •2.1 Функция InputBox
- •InputBox (текстовая_строка), где
- •InputBox("Введите число a "),
- •2.2 Функция MsgBox
- •2.3 Вызов подпрограмм
- •3 Порядок выполнения работы
- •Приложение а Варианты заданий с использованием функций InputBox и MsgBox
- •Приложение б
2.2 Функция MsgBox
В простейшем случае функция MsgBox имеет следующий синтаксис:
MsgBox(текстовая строка),
Где текстовая_строка - это обязательный аргумент, задающий в окне выводимое информационное сообщение; может состоять из нескольких текстовых строк, объединенных знаком «&»:
Рассмотрим простейшую процедуру, в которой используются функции MsgBox и InputBox:
Даны 3 числа. Найти среднее из них (т.е. число, расположенное между наименьшим и наибольшим).
Private Sub CommandButton1_Click()
Dim A, B, C, X As Double
A = CInt(InputBox("Введите число A ", "Ввод данных"))
B = CDbl(InputBox("Введите число B ", "Ввод данных"))
C = CDbl(InputBox("Введите число C ", "Ввод данных"))
If (A < B) And (A > C) Or (A > B) And (A < C) Then X = A
If (B < A) And (B > C) Or (B > A) And (B < C) Then X = B
If (C < A) And (C > B) Or (C > A) And (C < B) Then X = C
MsgBox ("Число, расположенное между миним. и макс. = " & X)
End Sub
Диалоговое окно, заданное функцией InputBox, имеет заголовок «Ввод данных», а в самом диалоговом окне содержится приглашение «Введите число А», «… B», «… C». В окне вывода, заданном функцией MsgBox, выводится сообщение «Число, расположенное между миним. и макс. = » и указывается числовое значение. (Данный пример не учитывает ситуаций, когда два или три введенных числа равны. Проверьте работу программы в этом примере для разных чисел и доработайте программу для случаев равенства вводимых чисел в следующей лабораторной работе.)
По умолчанию предполагается, что в окне MsgBox содержится одна строка текста. Однако включение в выводимую строку функции Chr$(13) приводит к переходу на новую строку при выводе информации. Если при этом используется также функция Chr$(9), которая возвращает символ табуляции, то можно в окне MsgBox получать многострочные таблицы. В качестве примера рассмотрим табулирование функции :
Private Sub CommandButton1_Click()
Dim Stroka As String
Dim x As Double
Dim y As Double
Stroka = "X =" & Chr$(9) & "Y =" & Chr$(13) & Chr$(13)
For x = 1 To 5
y = Sqr(x)
Stroka = Stroka & x & Chr$(9) & y & Chr$(13)
Next x
MsgBox (Stroka)
InputBox ("привет")
End Sub
В данном случае для функции MsgBox формируется строковая (текстовая) переменная Stroka, начальным значением которой задается заголовок «X= … Y= …», затем в цикле к этой переменной добавляются пары значений «x», изменяемого от 1 до 5 с шагом 1 и «y», полученным как корень квадратный из «x»:
2.3 Вызов подпрограмм
Для вызова подпрограмм, использующих интерфейсные окна, также существует несколько способов. В лабораторной работе можно использовать встроенную в рабочий лист командную кнопку.
Выполните команду «Вид → Панели инструментов → Элементы управления», выберите элемент «кнопка» (CommandButton), и укажите на рабочем листе место ее размещения:
Двойной щелчок по внедренной кнопки вызовет редактор VBA, в котором можно задать свойства программной кнопки (например, надпись на ней (Caption) – «Задание № 1»), а также записать текст подпрограммы, вызываемой этой кнопкой: