Svůj text jsem nemyslel jako tvrzení, a proto bych na konci Vaši citace uvítal "...?" Ale nechci být hnidopich, protože jsem Vám za Vaší odpověď vděčný.
Došel jsem k podobným závěrům, i když jiným způsobem.
Jde mi především o upozornění na zvláštní chování On error GoTo 0 případně i okolo objetu err a příkatu On error (Resume nest, Goto ErrorHandler atp)..
Spoléhám na Vaší odbornost, abych nemusel provádět řadu testů. Děškuji za pochopení
Viz dále v kódu
Sub Test()
Dim objErr As ErrObject
Dim objErr1 As ErrObject
Dim objWBook As Workbook
'Test existence objektu err - můžu získat vlastnost objektu
Debug.Print Err.Number
'Další test existence - můžu spustit metodu objektu
Err.Clear
'Další test existence
If Err Is Nothing Then
Debug.Print "Err is nothing"
Else
Debug.Print "Err not is nothing"
End If
'------
'Vlastnost Number je kupodivu i pro zápis
Err.Number = 5
'Desc. jakby smet
Err.Description = "Prd"
'...důkaz
Debug.Print Err.Number
Debug.Print Err.Description
'------
'Přkaz, který mě zajímá
On Error GoTo 0
'On error goto 0 "resetuje" vlastnosti objektu,
'tedy pouze nenastavuje chování
'Takové chování mě zajímá
Debug.Print Err.Number ' vrátí nulu
Debug.Print Err.Description = vbNullString
'------
'Získat odkaz na objekt err
Set objErr = Err
Set objErr1 = Err
'Přiřazení hodnot vlastnostem pro následné testování
objErr.Number = 1
objErr1.Number = 5
'objErr a objErr1 odkazují na stejný objekt err v paměti
Debug.Print "err:" & objErr.Number
Debug.Print "err1:" & objErr1.Number
'..zdá se, že ano
Debug.Print CStr(objErr Is objErr1)
'Funguje test?
Debug.Print CStr(objErr Is objWBook)
'------
'Nějaké další postřehy, prosím....
End Sub
citovat