Funktion CompatibilityMode()

Die Funktion CompatibilityMode() steuert oder fragt den Laufzeitmodus ab. Sie wirkt sich auf den gesamten Code aus, der nach dem Setzen oder Zurücksetzen des Laufzeitmodus ausgeführt wird.

warning

Verwenden Sie diese Funktion mit Vorsicht, beschränken Sie sie beispielsweise auf die Dokumentkonvertierung.


Syntax:

CompatibilityMode(Optional Aktivieren As Boolean) As Boolean

Rückgabewert:

Die Funktion CompatibilityMode gibt immer den Modus zurück, der nach ihrer Ausführung aktiv ist. Das heißt, wenn es mit einem Argument aufgerufen wird, wird der neue Modus zurückgegeben. Wenn es ohne Argument aufgerufen wird, gibt es den aktiven Modus zurück, ohne ihn zu ändern.

Parameter:

Aktivieren: Setzt oder deaktiviert den neuen Kompatibilitätsmodus, wenn das Argument vorhanden ist.

note

Die Funktion CompatibilityMode bezieht sich auf Option VBASupport 1, in diesem Fall gibt sie immer True zurück. Sie hat nichts mit der Compiler-Direktive Option Compatible zu tun.


Diese Funktion kann in folgenden Situationen Auswirkungen haben oder helfen:

Beispiel:

Gegeben sei ein NICHT leeres Verzeichnis unter file:///home/me/Test

Sub RemoveDir
    MsgBox CompatibilityMode() ' False

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

    MsgBox CompatibilityMode ' False
End Sub

Bei CompatibilityMode( True ) gibt das Programm einen Fehler aus, ansonsten wird das Verzeichnis Test samt Inhalt gelöscht.

Beispiel:

Ändern des Verhaltens von Dir

Sub VBADirCommand
    CompatibilityMode( Enable := True ) ' Zeigt auch normale Dateien an
    Entry$ = Dir( "file:///home/me/Tmp/*.*", 16 )
    Total$ = ""
    While Entry$ <> ""
        Total$ = Total$ + Entry$ + Chr$(13)
        Entry$ = Dir
    Wend
    MsgBox Total$
    CompatibilityMode Enable := False ' Zeigt nur Verzeichnisse an
End Sub

Bitte unterstützen Sie uns!