Función CompatibilityMode()
La función CompatibilityMode() controla el modo de ejecución y afecta todo el código subsiguiente.
Utilice esta función con cautela; limítela a situaciones de conversión de documentos, por ejemplo.
Option Compatible activa la compatibilidad de VBA a nivel módulo en el intérprete de Basic de LibreOffice.
Esta función puede coadyuvar o perjudicar las situaciones siguientes:
Creating enumerations with Enum statement
Running RmDir command in VBA mode. In VBA only empty directories are removed by RmDir while LibreOffice Basic removes a directory recursively.
Changing behaviour of Basic Dir command. The directory flag (16) for the Dir command means that only directories are returned in LibreOffice Basic, while in VBA normal files and directories are returned.
CompatibilityMode() function may be necessary when resorting to Option Compatible or Option VBASupport compiler modes.
CompatibilityMode(True | False)
Dado un directorio NO vacío en file:///home/me/Test
Sub RemoveDir
CompatibilityMode( true )
RmDir( "file:///home/me/Test" )
End Sub
Con CompatibilityMode( true ) el programa produce un error; en caso contrario, se elimina el directorio Test y todo su contenido.
Modificar el comportamiento de Dir
Sub VBADirCommand
CompatibilityMode( true ) ' Muestra asimismo archivos normales
Entry$ = Dir( "file:///home/me/Tmp/*.*", 16 )
Total$ = ""
While Entry$ <> ""
Total$ = Total$ + Entry$ + Chr$(13)
Entry$ = Dir
Wend
MsgBox Total$
End Sub