Nápověda LibreOffice 7.3
Funkce CompatibilityMode() určuje režim běhu programů a 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ů.
Option Compatible zapíná na úrovni modulu pro interpret jazyka LibreOffice Basic kompatibilitu s VBA.
Tato funkce může ovlivnit následující situace:
Vytváření výčtů příkazem Enum.
Spouštění příkazu RmDir v režimu VBA. V něm funkce RmDir odstraní pouze prázdné adresáře, zatímco LibreOffice 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 LibreOffice Basic vrátí pouze adresáře, kdežto v režimu VBA se vrátí adresáře i běžné soubory.
Funkce CompatibilityMode() může být nezbytná při používání režimů kompilátoru Option Compatible nebo Option VBASupport.
CompatibilityMode(True | False)
Za předpokladu, že adresář file:///home/me/Test není prázdný
Sub RemoveDir
CompatibilityMode( true )
RmDir( "file:///home/me/Test" )
End Sub
S CompatibilityMode( true ) je výsledkem programu chyba, v opačném případě se adresář Test a veškerý jeho obsah smažou.
Změna chování funkce Dir
Sub VBADirCommand
CompatibilityMode( 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$
End Sub