Fonction CompatibilityMode()

La fonction CompatibilityMode() contrôle ou interroge le mode d'exécution. Cela affecte tout le code exécuté après la définition ou la réinitialisation du mode d'exécution.

warning

Utilisez cette fonctionnalité avec prudence, limitez-la à la conversion de documents par exemple.


Syntaxe :


      CompatibilityMode(Optional Enable As Boolean) As Boolean
    

Valeur de retour :

La fonction CompatibilityMode renvoie toujours le mode qui est actif après son exécution. C'est-à-dire que s'il est appelé avec argument, il renvoie le nouveau mode, s'il est appelé sans argument, il renvoie le mode actif sans le modifier.

Paramètres :

Activer : active ou désactive le nouveau mode de compatibilité lorsque l'argument est présent.

note

CompatibilityMode function relates to Option VBASupport 1, in which case it always returns True. It is unrelated to Option Compatible compiler directive.


Cette fonction peut affecter ou aider dans les situations suivantes :

Exemple :

Étant donné un répertoire NON vide dans file:///home/me/Test


      Sub RemoveDir
      

MsgBox CompatibilityMode() ' False

CompatibilityMode( True ) RmDir( "file:///home/me/Test" ) CompatibilityMode False

MsgBox CompatibilityMode ' False

End Sub

Avec CompatibilityMode( True ) le programme génère une erreur, sinon le répertoire Test et tout son contenu est supprimé.

Exemple :

Modification du comportement de Dir


    Sub VBADirCommand
        CompatibilityMode( Enable := 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$
        CompatibilityMode Enable := False ' Affiche uniquement les répertoires
    End Sub