Автоматически повторно инициализировать глобальные переменные VBA после ошибки времени выполнения - PullRequest
0 голосов
/ 24 ноября 2018

Вопрос № 1: нужно ли переопределять Public myGobalVar As Integer при возникновении ошибки времени выполнения?

Вопрос № 2: Как автоматически переинициализировать мои глобальные переменные всякий раз, когда во время выполненияв коде возникает ошибка?

Вопрос № 3: Сбой этой процедуры обработки ошибок при работе с непредвиденными сценариями?Как сделать его более надежным или надежным?

Пожалуйста, обратитесь к псевдокоду ниже.

''' Question #1: Does Public myGobalVar As Integer need to be re-defined when a run-time error occurs?
Public myGobalVar As Integer

Sub Application_Startup()
    Call InitializeGobalVar()
End Sub

Sub InitializeGobalVar()
    myGobalVar = 3
End Sub

Sub One_in_many_mySubs()
On Error Goto ErrHandler_myGobalVar
    Dim objApp as Outlook.Application
    Set objApp as Application

    msgbox myGlobalVar

    ' erroneous event may occur somewhere in the code

    Err.Clear
    ' skip ErrHandler_myGobalVar and exit sub after set objApp = Nothing

ErrHandler_myGobalVar:
    if Err.number <> 0 then

    ''' Question #2: How do I automatically restart InitializeGobalVar whenever a run-time error occurs in the code?
        Call InitializeGobalVar

        MsgBox Err.Description
    end if

    Set objApp = Nothing
End Sub
...