Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_2_Ввод_вывод_данных.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.93 Mб
Скачать

Метод InputBox

В Excel имеется еще один способ ввода данных пользователем в интерактивном режиме, который имеет называние метод InputBox. Формат метода:

Application.InputBox(Prompt,Title,Default,Left,Top,

HelpFile,HelpContextId,Type)

Метод InputBox является методом объекта Application, и поэтому здесь присутствует слово Application. Аргументы этого метода, кроме Type, такие же, как и у функции InputBox. Основное отличие синтаксиса метода InputBox от синтаксиса одноименной функции заключается в последнем аргументе Type. Необязательный аргумент Type позволяет явно указать тип возвращаемого значения. В приведённой ниже таблице содержатся значения, которые может принимать этот аргумент.

Таблица 5.

Значения аргумента Type

Значение

Возвращаемое значение

0

Формула

1

Число

2

Текст (строка)

4

Логические значения, такие как ИСТИНА и ЛОЖЬ

8

Ссылка на ячейку

16

Значение ошибки

64

Массив значений

Пример:

Sub Пример()

Dim Данное As Integer

Данное = Application.InputBox("Введите число:", , , , , , , 1)

MsgBox "Введённое данное равно " & Данное

End Sub

Запятые в выражении Application.InputBox указывают места пропущенных аргументов. Последний аргумент – Type имеет значение 1. Это показывает, что допустимыми вводимыми значениями являются только числа.

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

Можно суммировать значения аргумента Type. Например, если нужно, чтобы метод мог возвращать как текст, так и числа, следует сделать аргумент Type равным 3 (1 + 2). Если аргумент Type не задан, то метод InputBox по умолчанию возвращает текст.

Пример:

Sub ФункцияInputBox2()

Dim Данное As Variant

Данное = Application.InputBox("Введите данное:", , , , , , , 3)

MsgBox "Введённое данное равно " & Данное

End Sub

Пропуск отмечающих запятых, а также перестановка аргументов функции приводит к ошибкам несовпадения типов. Для предотвращения ошибок программирования функций при вводе аргументов VBA предоставляет возможность передавать значения аргументов функции, используя именованные аргументы функций. Приведённая ниже процедура Пример2 иллюстрирует использование именованных аргументов функций Prompt, Title и Type; она решает ту же задачу, что и процедура Пример.

Sub Пример2()

Dim Данное As Integer

Данное = Application.InputBox(Promp t:= "Введите число:", _

Title:="Проверка типа данных", Type:=1)

MsgBox Prompt := "Введённое данное равно " & Данное, _

Title:="Проверка ввода данных"

End Sub

Следует обратить внимание на то, что:

  • имя аргумента отделяется от его значения символом “:=” (двоеточие и равно);

  • порядок перечисления именованных аргументов не обязательно совпадает с их порядком в формате функции;

  • список аргументов функции MsgBox не заключается в скобки;

  • в операторе Данное = Application.InputBox … функция InputBox используется как метод приложения Application, и поэтому её аргументы заключаются в скобки.

Результаты выполнения процедуры Пример2 представлены на рис. 32.

Рис.32. Результат выполнения процедуры Пример2.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]