Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР01_II_(InputBox_MsgBox)).doc
Скачиваний:
4
Добавлен:
08.11.2019
Размер:
569.86 Кб
Скачать

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»), а также записать текст подпрограммы, вызываемой этой кнопкой: