Nápověda Collabora Office 24.04
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.
Používejte tuto funkci opatrně, například ji omezte na převody dokumentů.
CompatibilityMode(Optional Enable As Boolean) As Boolean
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.
Enable: Je-li tento argument zadán, nastaví nebo zruší nastavení nového režimu kompatibility.
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:
Viditelnost proměnných.
Spouštění příkazu RmDir v režimu VBA. V něm funkce RmDir odstraní pouze prázdné adresáře, zatímco Collabora Office Basic odstraní adresář rekurzivně.
Změna chování příkazu Basicu Dir. Příznak pro adresáře (16) u příkazu Dir znamená, že se v jazyku Collabora Office Basic vrátí pouze adresáře, kdežto v režimu VBA se vrátí adresáře i běžné soubory.
Výpočet složek barvy pomocí funkcí Red a Blue, které jsou odlišné. (Funkce Green není ovlivněna.)
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.
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