Aide LibreOffice 7.3
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.
Modification du comportement de la commande Basic Dir. L'indicateur de répertoire (16) pour la commande Dir signifie que seuls les répertoires sont renvoyés dans LibreOffice Basic, alors que dans VBA les fichiers normaux et les répertoires sont renvoyés.
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