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. Autrement dit, s'il est appelé avec un argument, il renvoie le nouveau mode ; s'il est appelé sans argument, il retourne 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

La fonction CompatibilityMode se rapporte à Option VBASupport 1, auquel cas elle renvoie toujours True. Elle n'est pas liée à la directive du compilateur Option Compatible.


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
   

Aidez-nous !