МУ - Ввод и вывод информации в программах на VBA ( MS Excel )
Описание файла
PDF-файл из архива "МУ - Ввод и вывод информации в программах на VBA ( MS Excel )", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве РУТ (МИИТ). Не смотря на прямую связь этого архива с РУТ (МИИТ), его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ(МИИТ)МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ(МИИТ)Кафедра«САПР транспортных конструкций и сооружений»Кафедра«САПР транспортных конструкций и сооружений»Э. Р. РЕЗНИКОВАЭ. Р. РЕЗНИКОВАВВОД И ВЫВОД ИНФОРМАЦИИВ ПРОГРАММАХ НА VBA(В MICROSOFT OFFICE EXCEL)ВВОД И ВЫВОД ИНФОРМАЦИИВ ПРОГРАММАХ НА VBA(В MICROSOFT OFFICE EXCEL)Методические указания к лабораторным работамРекомендовано редакционно-издательским советомуниверситета в качестве методических указанийдля студентов специальности САПРи строительных специальностейМосква – 2009Москва – 2009УДК 004Р 34СОДЕРЖАНИЕРезникова Э.Р. Ввод и вывод информации в программах наVBA (в Microsoft Office Excel): Методические указания клабораторным работам по курсу “Информатика”.
–М.: МИИТ, 2009. – 28 с.Настоящие методические указания посвящены различным способам организации ввода и вывода данных впрограммах на VBA, встроенном в Microsoft Office Excel.Рассматриваются вопросы использования окон сообщений,ячеек рабочих листов, а также текстовых файлов для вводаи вывода числовых и символьных данных.Методические указания предназначены для студентовстроительных специальностей, САПР и БЗС, а также дляпользователей MS Office, желающих освоить основы программирования на VBA.ВВЕДЕНИЕ ..............................................................................
41. ФУНКЦИИ INPUTBOX И MSGBOX .............................. 52. ЭЛЕМЕНТЫ УПРАВЛЕНИЯ ДИАЛОГОВЫХ ОКОН2.1 НАДПИСИ И ПОЛЯ ВВОДА ............................................... 112.2 ПЕРЕКЛЮЧАТЕЛИ (OPTIONBUTTON)............................... 142.3 ФЛАЖКИ (CHECKBOX) ................................................... 163. ФАЙЛОВЫЙ ВВОД-ВЫВОД ......................................... 184. ЯЧЕЙКИ РАБОЧЕГО ЛИСТА ......................................
225. МАССИВЫ......................................................................... 23ЛИТЕРАТУРА ....................................................................... 27© Московский государственный университетпутей сообщения (МИИТ), 200923ВВЕДЕНИЕ1. ФУНКЦИИ InputBox и MsgBoxРешение любой задачи на компьютере предполагаетобработку информации, т.е. сначала программа должна получить исходные данные (ввод), а затем после выполненияработы показать результаты (вывод).Средства ввода/вывода (сокращенно в/в) информацииреализованы во всех языках программирования.
Очень многие операторы, функции и команды ввода/вывода основанына английских словах «input» (ввести), «print» (печатать),«read» (читать), «write» (писать), «output» (вывести) и др. Ванглийском языке даже используется специальное сокращение I/O (от слов Input/Output).В пакет Microsoft Office встроена среда разработкиприложений VBA (Visual Basic for Applications). Каждыйпроект, каждая VBA-программа должны каким-то образомполучить (ввести) исходную информацию и показать (вывести) полученный результат.Самое наглядное средство в/в в среде VBA – это диалоговые окна с надписями, полями ввода, кнопкамипереключателями и другими элементами управления.
Создаются такие диалоговые окна легко и быстро, их как бы«рисуют» на экране [2]. Можно также пользоваться стандартными функциями и операторами ввода/вывода даже бездиалоговых окон. Очень удобны для ввода/вывода различной информации и традиционные текстовые файлы. Крометого, в среде VBA в MS Excel можно использовать ячейкирабочих листов, это необходимо при работе с целыми массивами данных.Итак, рассмотрим различные средства организацииввода/вывода в среде VBA в MS Excel. В каждом разделеприведены примеры с подробными комментариями.Начнем с самого простого способа в/в – использование стандартных диалоговых окон с сообщениями. В любойVBA-программе можно использовать функцию InputBox(англ. «Input» – ввод и «Box» – коробочка) для получения склавиатуры какого-либо значения и оператор MsgBox (англ.«Message» – сообщение) для вывода на экран сообщения.Когда необходимо ввести с клавиатуры некоторое числоили слово, используют функцию InputBox(), которая показывает на экране запрос и получает с клавиатуры ответ.4Формат функции InputBox():имя_переменной = InputBox(“запрос”, “заголовок”)Заголовок можно не писать, тогда по умолчанию будет “Microsoft Excel".На рисунке 1 показано окно для ввода радиуса круга, которое появится на экране при выполнении такой строки:R=InputBox(“Введите радиус:”,”Вычисляем площадь круга”)Рисунок 1 – Окно для ввода с клавиатуры радиуса круга.В белой строке этого окна мигает курсор, это фактически поле ввода.
Здесь можно ввести с клавиатуры число ипри нажатии кнопки OK (либо клавиши Enter) это число5станет значением переменной, указанной в программе (вприведенном примере «R»).Следующие 3 строки показывают, как можно ввести склавиатуры коэффициенты квадратного уравнения.Для вывода на экран окон с сообщениями используютоператор MsgBox следующего формата:a = InputBox(“Введите 1-ый коэффициент уравнения”)Обязательно записывают только текст (т.е.
само сообщение), а остальное может быть задано по умолчанию.Чаще всего используют такие кнопки и значки:b = InputBox(“Введите 2-ой коэффициент уравнения”)c = InputBox(“Введите 3-ий коэффициент уравнения”)На рисунке 2 показано окно, которое будет на экранепосле выполнения третьей строки и ввода коэффициента.Рисунок 2 – Окно для ввода коэффициента с клавиатуры.После нажатия Enter (либо кнопки OK) переменная«с» получит значение 12,5.Примечание.
При вводе чисел с десятичным разделителем, например 12,5 надо помнить, что использованиеточки или запятой определяется настройкой операционнойсистемы. В Windows это можно посмотреть в «Панелиуправления» – «Язык и региональные стандарты». Чащевсего в России устанавливается десятичный разделитель«,» и использовать надо именно запятую, иначе при попытке ввести 12.5 будет ошибка.6MsgBox “текст”, кнопки + значок, “заголовок”vbOKOnlyvbOKCancelТолько кнопка OKКнопки OK и CancelvbYesNoCancelКнопки Yes, No и CancelvbYesNoКнопки Yes и NovbCriticalЗначок критического сообщенияvbQuestionЗначок вопроса-предупрежденияvbExclamationЗначок восклицания-предупрежденияvbInformationЗначок информационного сообщенияВ качестве заголовка можно написать название задачилибо описание проблемы.
По умолчанию – “MicrosoftExcel”.Рассмотрим несколько простых примеров.При выполнении оператораMsgBox “Это пример 1”на экране будет такое сообщение (по умолчанию кнопкаодна – ОК, значка нет, заголовок – Microsoft Excel):7Выполнение оператораMsgBox “Это пример 2”, vbYesNo + vbExclamation, “Команда2”приведет к выводу на экран такого сообщения :Сообщения могут быть многострочными, для перехода на новую строчку в тексте используют служебный символ с кодом 10: Chr(10). При выполнении оператора:MsgBox "Сообщение может быть" & Chr(10) & "многострочным", vbInformation, "Пример 3"на экране увидим:Можно ограничить число знаков после запятой, используя функцию Format(), например:MsgBox "Площадь круга = " & Format(S, "0.00")Иногда используется другая форма примененияMsgBox. Если надо узнать, какую именно кнопку нажали вокне с сообщением (например, «Да» или «Нет»), то в программе пишем функцию MsgBox(), которая возвращает коднажатой кнопки.Формат функции MsgBox() для вывода сообщения иполучения кода нажатой кнопки:код = MsgBox(“текст”, кнопки + значок, “заголовок”)Например, если записать в программе строчку:K = MsgBox(“Выполнять расчет?”, vbYesNo, “Задача 1”)Для вывода на экран не только текста, но и числовыхрезультатов можно записать так:MsgBox "Площадь круга = " & SЗначок & записан для «склеивания» отдельных элементов выводимой информации, здесь к словам "Площадькруга = " дописывается значение переменной S.8то при ее выполнении мы увидим окно с сообщением идвумя кнопками (см.
рисунок 3). При щелчке мышью покнопке «Да» переменная К получит значение vbYes, а покнопке «Нет» – значение vbNo. Для других возможных кнопок используются константы vbOK, vbCancel и др.Рисунок 3 – Окно с сообщением и двумя кнопками.9Рассмотрим пример программы, где используетсяввод/вывод с помощью InputBox/MsgBox. В этой программевычисляется длина гипотенузы и периметр прямоугольноготреугольника по введенным с клавиатуры длинам катетов.Sub Example1()Dim a As Double, b As Double, с As Double, p As Doublea = InputBox("Длина первого катета:")b = InputBox("Длина второго катета:")c = Sqr(a^2 + b^2)MsgBox "длина гипотенузы: " & Format(с, “0.0”)p=a+b+cMsgBox "периметр: " & Format(p, “0.0”)End SubНа рисунках 4 и 5 показаны окна, которые будут на экране впроцессе работы программы.Рисунок 5 – Окна с результатами.2.
ЭЛЕМЕНТЫ УПРАВЛЕНИЯ ДИАЛОГОВЫХ ОКОН2.1 Надписи и поля вводаПри проектировании диалогового окна (UserForm)можно расположить на заготовке формы различные управляющие элементы (подробно об их создании см. [2]):– надпись (Label)– поле ввода (TextBox)– поле ввода со списком (ComboBox)– список (ListBox)– флажок, кнопка выбора (CheckBox)– переключатель (OptionButton)– выключатель (ToggleButton)– рамка (Frame)– командная кнопка (CommandButtonРисунок 4 – Окна для ввода исходных данных.10Для в/в чаще всего используют поля ввода (TextBox) инадписи (Label).