Обработчик ошибок в VBA можно настроить так, чтобы он прерывался только при ошибках, если нет обработчика ошибок выше в стеке вызовов, перейдя к Tools->Options->General
и установив для перехвата ошибок значение Break on unhandled errors
.
Есть ли способ определить, включен ли отлов ошибок в этот параметр? В этом руководстве для разработчиков говорится, что это невозможно обнаружить, но я хотел бы предупредить пользователя, если они запускают приложение с неверным набором перехватчиков ошибок, поэтому я могу быть уверен, что обработчики ошибок более высокого уровня перехватят все исключения.
РЕДАКТИРОВАТЬ: я не могу найти документацию MSDN для подтверждения, но из различных тем форума похоже, что проблема в том, что Application.SetOption
и Application.GetOption
недоступны в Excel VBA. Однако они доступны в объекте Access Application
— странное несоответствие.