Aide LibreOffice 7.1
La fonction CompatibilityMode() contrôle le mode d'exécution et affecte tout le code exécuté après avoir défini ou réinitialisé le mode.
Utilisez cette fonctionnalité avec prudence, limitez-la à la conversion de documents par exemple.
Option Compatible active la compatibilité VBA au niveau du module pour l'interpréteur LibreOffice Basic.
Cette fonction peut affecter ou aider dans les situations suivantes :
Créer des énumérations avec l'instruction Enum
Exécuter la commande RmDir en mode VBA. Dans VBA, seuls les répertoires vides sont supprimés par RmDir tandis que LibreOffice Basic supprime un répertoire de manière récursive.
Changing behavior 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.
La fonction CompatibilityMode() peut être nécessaire lors du recours aux modes de compilation Option Compatible ou Option VBASupport.
CompatibilityMode(True | False)
Étant donné un répertoire NON vide dans file:///home/me/Test
Sub RemoveDir
CompatibilityMode( true )
RmDir( "file:///home/me/Test" )
End Sub
Avec CompatibilityMode( true ), le programme résulte en une erreur, sinon le répertoire Test et tout son contenu sont supprimés.
Modification du comportement de Dir
Sub VBADirCommand
CompatibilityMode( true ) ' Affiche aussi les fichiers normaux
Entry$ = Dir( "file:///home/me/Tmp/*.*", 16 )
Total$ = ""
While Entry$ <> ""
Total$ = Total$ + Entry$ + Chr$(13)
Entry$ = Dir
Wend
MsgBox Total$
End Sub