Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Организация ввода-вывода



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

Для ввода данных с листа или вывода на лист используется объект Worksheets и его методы Range или Cells.

Метод Range использует в качестве аргументов одну или две ссылки на ячейки и возвраща ю т объект Range. Ссылки на ячейки должны быть оформлены в стиле А1 (колонкастрока). Ссылка на единичную ячейку, использованная в качестве аргумента, возвращает объект Range для единичной ячейки. Две ссылки на единичные ячейки возвращают объект Range для прямоугольной области, заключенной между этими двумя ячейками:

X = Worksheets(“Лист1”).Range(“B1”).Value Присваиваем переменной Х значение ячейки B1 листа Лист1.
Worksheets(“Лист1”).Range(“B1”).Value = Х Выводим в ячейку B1 листа Лист1 значение переменной Х
Worksheets(“Лист1”).Range(“C1”,”D6”).Value = 2 Выводим в ячейки C1 и D6 листа Лист1 число 2
Worksheets(“Лист1”).Range(“В7:С9”).Value = 3 Выводим в диапазон ячеек “В7:С9” листа Лист1 число 3

Метод Cells, получая в качестве аргументов два целых числа, возвращает объект, содержащий единичную ячейку. Аргументы определяют номера строки и столбца выбранной ячейки.

A=Worksheets(1).Cells(1,2).Value Переменной А присвоено значение из ячейки первой строки и второго столбца первого листа.
Worksheets(1).Cells(2,2).Value= Х В ячейку второй строки и второго столбца заносится значение переменной Х

? Запишите команду (2 способа), с помощью которой можно вывести слово “Задача” в ячейку Е10 листа “Пример”.

______________________________________________________________

______________________________________________________________

? Запишите команду (2 способа), с помощью которой вводится значение переменной t с листа “Задача” из ячейки F2.

______________________________________________________________

______________________________________________________________

Для ввода данных с клавиатуры используется окно ввода InputBox (таблица 9), а для вывода информации на экран – окно сообщений MsgBox(таблица 10).

Таблица 9 – Параметры функции InputBox

Функция InputBox Выводит на экран диалоговое окно, содержащее сообщение, поле ввода и две кнопки OK и Cancel. Устанавливает режим ожидания ввода текста пользователем или нажатия кнопки, а затем возвращает значение типа string по нажатию кнопки OK, содержащее текст, введенный в поле. При нажатии кнопки Cancel возвращает пустую строку. Синтаксис: InputBox(prompt[, title] [, default]) - prompt — строковое выражение, отображаемое как сообщение в диалоговом окне. Строковое значение prompt может содержать несколько строк. Для разделения строк допускается использование символа возврата каретки (chr (13)), символа перевода строки (chr(10)) или комбинацию этих символов (chr(13) & Chr (10)); - title — строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, в строку заголовка помещается имя приложения; - default — строковое выражение, отображаемое в поле ввода как используемое по умолчанию, если пользователь не введет другую строку. Если этот аргумент опущен, поле ввода изображается пустым.

Пример.

Имя =InputBox(“Введите Ваше имя”, “Пример окна ввода”)

На экране появится окно.

Рисунок 2 – Пример окна ввода

Переменной Имя будет присвоено значение типа String, введенное пользователем.

Следует учесть, что, поскольку введенные пользователем данные считаются текстом, при вводе числовых значений необходимо преобразовать их к одному из числовых типов данных с помощью функции преобразования типа, например val или CDbl.

X=CDbl(InputBox(“Введите значение Х”, “Пример окна ввода”, “1,678”))

В результате выполнения этой операции на экране появится окно ввода.

Рисунок 3 – Пример окна ввода

Введенное пользователем значение будет преобразовано к типу Double и присвоено переменной Х. Если пользователь не будет вводить значение, а просто нажмет кнопку OK, переменной Х будет присвоено значение по умолчанию – 1.678.

? Запишите команду, позволяющую ввести целочисленное значение переменной a через окно ввода, представленного на рисунке 4:

Рисунок 4 – Пример окна ввода

____________________________________________________________________

? Схематически изобразите вид окна ввода, появляющееся после выполнения следующей команды: к= CInt(InputBox(“Укажите значение переменной е”, “Введите переменную е”, “5.12”))

? Укажите, какое значение примет переменная к, если была нажата кнопка ОК.____________

Таблица 10 - Параметры функции/процедуры MsgBox

Процедура/ функция MsgBox Выводит на экран диалоговое окно, содержащее сообщение, устанавливает режим ожидания нажатия кнопки пользователем, а затем возвращает значение типа integer, указывающее, какая кнопка была нажата. Синтаксис: MsgBox(prompt[, buttons] [, title]) Аргументы: prompt — строковое выражение, отображаемое как сообщение в диалоговом окне; buttons — числовое выражение, представляющее сумму значений, которые указывают число и тип отображаемых кнопок, тип используемого значка, основную кнопку и модальность окна сообщения. Значение по умолчанию этого аргумента равняется 0. Значения констант, определяющих число и тип кнопок используемого значка, приведены в таблицах 11—12; title — строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, в строку заголовка помещается имя приложения

Значения параметра Buttons процедуры/функции MsgBox, определяющие отображаемые в диалоговом окне кнопки, приведены в таблице 11:

Таблица 11

Константа Значение Отображаются кнопки
VbOKOnly   OK
VbOKCancel   OK, Отмена
VbAbortRetryIgnore   Стоп, Повтор, Пропустить
VbYesNoCancel   Да, Нет, Отмена
VbYesNo   Да, Нет
VbRetryCancel   Повтор, Отмена

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

Таблица 12

Константа Значение Нажатая кнопка
VbOK vbCancel vbAbort vbRetry vbIgnore vbYes vbNo   ОК Отмена (Cancel) Прервать (Abort) Повторить (Retry) Пропустить (Ignore) Да (Yes) Нет (No)




Дата публикования: 2015-10-09; Прочитано: 487 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.503 с)...