Россия

InputBox

Дата публикации: 02.06.2015

Функция выводит на экран диалоговое (модальное) окно с кнопкой закрытия, содержащее заданное сообщение, поле ввода, кнопки OK, Cancel и опционально заголовок и/или кнопку Help, ожидая от пользователя ввода текста или щелчка кнопки. При задании не только одного первого параметра, необходимо использовать функцию InputBox в выражении. Для пропуска некоторых параметров нужно включить соответствующие разделители в виде запятых/

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

Возвращаемое значение: Возвращает значение типа String, включающее содержимое окна текста

Параметры:

Функция содержит именованные аргументы

Часть

Описание

Prompt

Обязательный. Строковое выражение, отображаемое как сообщение в диалоговом окне. Максимальная длина параметра Prompt составляет приблизительно 1024 символа и зависит от ширины используемых символов. Строковое значение Prompt может содержать нескольких физических строк. Для разделения строк допускается использование символа возврата каретки, символа перевода строки или комбинации этих символов

Title

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

Default

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

XPos

Необязательный. Числовое выражение, задающее расстояние по горизонтали между левой границей диалогового окна и левым краем экрана твипах). Если этот параметр опущен, то диалоговое окно выравнивается по центру экрана по горизонтали

YPos

Необязательный. Числовое выражение, задающее расстояние по вертикали между верхней границей диалогового окна и верхним краем экрана твипах). Если этот параметр опущен, то диалоговое окно помещается по вертикали на расстоянии примерно на одну треть высоты экрана

HelpFile

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

Context

Необязательный. Числовое выражение, определяющее номер соответствующего раздела справочной системы. Если этот параметр указан, то необходимо задать также и параметр HelpFile

 

Примечание

Если указаны оба параметра, HelpFile и Context, то пользователь имеет возможность нажатием клавиши F1 вызвать соответствующую контекстную справку. Некоторые главные приложения, например, Microsoft Excel, также автоматически добавляют в диалоговое окно кнопку «Справка“. Если пользователь щелкает кнопку OK или нажимает ENTER, функция InputBox возвращает содержимое поля ввода. Если пользователь щелкает кнопку Cancel, то функция возвращает пустую строку (““)

Замечание: Однако, если пользователь не введет в поле ввода строку, то функция тоже вернет пустую строку. В этом случае будет затруднительно определить — какую кнопку (OK или Cancel) нажал пользователь. Но самом деле Cancel возвращает vbNullString, который и воспринимается Visual Basic как пустая строка. Но можно воспользоваться недокументированной функцией StrPtr и получить указатель на строку. Например, так

Dim strInput As String

strInput = InputBox (“»)

If StrPtr (strInput) = 0 Then

 MsgBox  «Вы нажали Cancel!»

End If

Пример

Пример демонстрирует различные способы получения сведений от пользователя с помощью функции InputBox. Если аргументы x и y опущены, 

то окно диалога автоматически выравнивается по центру  по соответствующим осям. Переменная MyValue содержит значение, введенное пользователем, если была нажата

кнопка OK или клавиша ENTER. Если пользователь нажмет  кнопку Cancel, функция возвратит пустую строку

Dim Message, Title, Default, MyValue

Message =  «Введите число от 1 до 3»

Title =  «Пример»   ' заголовок

Default =  «1»   ' значение по умолчанию

' Выводим на экран сообщение, заголовок и значение по умолчанию

MyValue = InputBox (Message, Title, Default)

' Получение справки. Кнопка  «Справка» добавляется автоматически

MyValue = InputBox (Message, Title, , , ,  «DEMO.HLP», 10)

' Размещаем верхний левый угол окна диалога в точке 100, 100

MyValue = InputBox (Message, Title, Default, 100, 100)