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!