MyTetra Share
Делитесь знаниями!
InputBox - оператор VBA для получения входных данных от пользователя процедуры
Время создания: 31.07.2019 22:37
Текстовые метки: InputBox
Раздел: Разные закладки - VBA
Запись: xintrea/mytetra_db_adgaver_new/master/base/1518969825k7mmpj1qpg/text.html на raw.githubusercontent.com

В предыдущей статье "Литеральные, именованные и внутренние константы VBA " рассматривались процедуры для вычисления длины окружности и площади круга. Значение радиуса, принимающего участие в расчетах, задавалось непосредственно в исходном коде процедуры. Изменим этот код таким образом, чтобы процедура стала интерактивной. Интерактивная процедура - это процедура, которая обменивается с пользователем информацией, получая от него входные данные и отображая различные сообщения. Получение данных от пользователя, сохранение этих данных в переменных, выполнение над ними различных действий и отображение результатов этих действий являются основными элементами, которые необходимы для написания интерактивных процедур. Данные, получаемые от пользователя, принято называть входными данными (input). Для получения входных данных используется функция InputBox либо пользовательская форма (об этом позднее).

Функцией называется специальный тип процедуры VBA, возвращающей некоторое значение. Функция InputBox выводит на дисплей диалоговое окно, которое содержит командные кнопки OK и Cancel, текстовое поле для ввода входных данных и некоторый текст, который запрашивает у пользователя ввод этих данных.

Ниже приведен программный код процедуры, которая вычисляет площадь круга, при этом радиус круга запрашивает у пользователя процедуры.

Const Pi As Single = 3.1415

Dim CircleArea As Single

Sub Circle_Area_04()

Const Title As String = "Площадь круга"

Dim Radius As Single, Temp As String

Temp = InputBox("Введите радиус круга", Title)

If Temp <> "" Then

Radius = CSng(Temp)

CircleArea = Pi * (Radius * Radius)

MsgBox CircleArea, , Title

Else: MsgBox "Вы отказались от ввода данных!"

End If

End Sub

В общем случае функция InputBox имеет следующий синтаксис:

stringvar=InputBox (Prompt [, Title] [, Default] [, XPos] [, YPos] [, HelpFile] [, Context])

где stringvar - любая переменная, сохраняющая строку;

Prompt - любое строковое выражение, содержащее информацию, выводимую в диалоговом окне (единственный обязательный аргумент этой функции);

Title - строка для заголовка диалогового окна;

Default - строковое выражение, использующееся как значение по умолчанию для пользовательского ввода;

XPos - горизонтальное расстояние от левого края окна;

YPos - вертикальное расстояние от верхнего края окна;

HelpFile - строковое выражение, содержащее имя справочного файла Windows;

Context - численное выражение, указывающее раздел в справочном файле, относящийся к отображаемому диалоговому окну.


Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования