Хотя процедуры еще нет и вы даже не приступили к ее созданию, в этом окне по умолчанию уже появятся операторы, обязательные для будущей программы.
Это:
• Private Sub Название_фирмы_LostFocus ;
• End Sub.
Первый оператор – имя процедуры Sub, которое автоматически присваивается ей в соответствии с именем поля и свойством (последние объединяются символом подчеркивания). Область действия процедуры (Private) – данный модуль класса (форма Фирмы). Второй оператор, End Sub, закрывает процедуру.
Дальше начинается заполнение создаваемой процедуры конкретными операторами.
Обработка ошибок выполнения
При программировании приложения необходимо учитывать и возможность возникновения ошибок, и их вероятные последствия. Ошибки появляются по одной из следующих причин:
• во время работы приложения некоторые действия могут войти в противоречие со стандартами программы. Например, при попытке открыть таблицу, которая была удалена пользователем, возникнет ошибка;
• сама программа может содержать логические ошибки, то есть в ней заложена недопустимая операция, к примеру деление на нуль. Это приводит к неожиданным последствиям.
Если механизм обработки ошибок не применяется, то при возникновении ошибки VBA прервет выполнение программы и выведет сообщение об ошибке, не определяя ее типа. Такой результат работы для нас неприемлем. Поэтому следует включать в программу процедуры обработки для всех ошибок.
Добавляя процедуру обработки, следует учитывать способ передачи управления процедуре при возникновении ошибки. Первое, что надо сделать для задания маршрута передачи управления, – это подключить обработчик ошибок путем включения некоторой формы инструкции On Error в процедуру. Инструкция On Error передает управление процедуре обработки события данной ошибки.
Если подключен обработчик, то при возникновении ошибки в процедуре VBA не выводит обычного сообщения. Вместо этого управление передается в обработчик (если он присутствует), который сразу же активизируется. В активном обработчике ошибок может определяться тип ошибки и осуществляться произвольная обработка.
Обработчик ошибок определяет, какие действия будут выполняться при возникновении ошибки в процедуре. Например, может быть завершено выполнение процедуры или исправлены условия и произведен повторный запуск. Инструкции On Error и Resume определяют способ передачи управления при возникновении ошибки.
Инструкция On ErrorЭта инструкция служит для подключения и отключения процедуры обработки ошибок. Если такая процедура подключена, то при возникновении ошибки ей передается управление.
Есть три формы инструкции On Error:
• On Error GoTo метка;
• On Error GoTo 0;
• On Error Resume Next.
Первая форма подключает процедуру обработки ошибок начиная с той строки, на которой находится. Поэтому подключить обработчик следует перед первой строкой, которая может содержать ошибку. Активный обработчик при возникновении ошибки передаст управление строке, которая задана после слова метка.
Строка, указанная в качестве аргумента метка, и будет первой строкой процедуры обработки ошибок. Например, приведенная ниже инструкция определяет, что при возникновении ошибки управление передается процедуре под названием Err_Hазвание_фирмы_LostFocus_Click: