Funkce CompatibilityMode()

Funkce CompatibilityMode() určuje či zjišťuje režim běhu programů. Ovlivňuje, jak se bude po nastavení nebo zrušení tohoto režimu vykonávat veškerý kód.

warning

Používejte tuto funkci opatrně, například ji omezte na převody dokumentů.


Syntaxe:

CompatibilityMode(Optional Enable As Boolean) As Boolean

Návratová hodnota:

Funkce CompatibilityMode vždy vrátí režim, který je aktivní po jejím provedení. Tj. zavoláte-li ji s argumentem, vrátí nový režim, v opačném případě vrátí aktivní režim a nezmění jej.

Parametry:

Enable: Je-li tento argument zadán, nastaví nebo zruší nastavení nového režimu kompatibility.

note

Funkce CompatibilityMode se vztahuje k možnosti Option VBASupport 1, pro kterou vždy vrátí True. Nesouvisí s direktivou kompilátoru Option Compatible.


Tato funkce může ovlivnit následující situace:

Příklad:

Za předpokladu, že adresář file:///home/me/Test není prázdný

Sub RemoveDir
    MsgBox CompatibilityMode() ' False

    CompatibilityMode( True )
    RmDir( "file:///home/me/Test" )
    CompatibilityMode False

    MsgBox CompatibilityMode ' False
End Sub

S CompatibilityMode(True) nastane v programu chyba, v opačném případě bude smazání adresář Test a veškerý jeho obsah.

Příklad:

Změna chování funkce Dir

Sub VBADirCommand
    CompatibilityMode( Enable := True )   ' Zobrazí také běžné soubory
    Entry$ = Dir( "file:///home/me/Tmp/*.*", 16 )
    Total$ = ""
    While Entry$ <> ""
        Total$ = Total$ + Entry$ + Chr$(13)
        Entry$ = Dir
    Wend
    MsgBox Total$
    CompatibilityMode Enable := False ' Zobrazí pouze adresáře
End Sub

Podpořte nás!