|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Ознакомление с процедурами VBA, предотвращающими появление ошибок
Цель работы: разработка процедур в VBA, предотвращающих появление ошибок Задание на выполнение работы: создать программный код VBA, предотвращающий появление ошибок Порядок выполнения работы:
При составлении приложений важно предусмотреть, чтобы программа анализировала возможные ошибки, возникающие при ее выполнении и информировала пользователя о них. Рассмотрим пользовательскую форму (рисунок 1): Рисунок 1. Диалоговое окно Деление»
В диалоговом окне поля «Числитель» и «Знаменатель» предусмотрены для ввода данных. Пользователь вводит в них по числу. При нажатии кнопки «Счет» программа делит число, введенное в поле «Числитель» на число, введенное в поле «Знаменатель» и выводит полученный результат в поле «Ответ». Несмотря на простоту задачи, она уже таит в себе множество подводных камней. Например, если пользователь по невнимательности забудет ввести в поля числа, при нажатии кнопки «Счет» происходит аварийное прерывание программы с малопонятным сообщением об ошибке (рисунок 2). Рисунок 2. Сообщение об ошибке VBA
Данное сообщение об ошибке связано с одной из инструкций в программе: где аргументом функции CDbl должна быть строка, преобразуемая в число. Если в какое-либо из полей ничего не введено, по умолчанию из этого поля будет считываться пустая строка, которая не может быть преобразована в число и поэтому из-за функции CDbl происходит ошибка. Такие ошибки ввода легко избежать, если производить в программе предварительную проверку: преобразуются ли вводимые данные в числа. Например, на рисунке 3 в поле «Знаменатель» было введено число с точкой-разделителем целой и дробной части, в то время как установки системы предусматривают запятую. Рисунок 3. Пример сообщения о некорректном вводе данных
Поэтому процедура: вызвала отображение диалогового окна «Деление» с сообщением об ошибке в знаменателе и установила фокус на поле «Знаменатель». Если пользователь введет в поле «Знаменатель» нуль, то в этом случае также произойдет аварийная остановка программы. Для этого нужно провести проверку не только того, являются ли введенные данные числом, но и что это не ноль. Окончательная процедура выглядит так: На рисунке 4 показан пример выдачи сообщения об ошибке в случае введения нуля в окно «Знаменатель». Рисунок 4. Пример сообщения об ошибке в случае введения нуля в окно «Знаменатель».
Отчет должен содержать: 1. Задание на выполнение работы 2. Листинги программ с процедурами, предотвращающими появление ошибок 3. Выводы Контрольные вопросы: Опишите методику оповещения пользователя об ошибке программы в VBA
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |