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

InputBox - оператор VBA для получения входных данных от пользователя процедуры

Подробности

Категория: Основы VBA

Опубликовано: 08 октября 2012

В предыдущей статье "Литеральные, именованные и внутренние константы 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.59
Яндекс индекс цитирования