Funkcja CompatibilityMode()

Funkcja CompatibilityMode() określa lub wykrywa tryb działania programów. Wpływa na sposób wykonywania całego kodu po ustawieniu lub wyłączeniu tego trybu.

warning

Korzystaj z tej funkcji ostrożnie, ogranicz ją np. do konwersji dokumentów.


Składnia:


      CompatibilityMode(Optional Enable As Boolean) As Boolean
    

Zwracana wartość:

CompatibilityMode function always returns the mode that is active after its execution. That is if called with argument, it returns the new mode, if called without argument, it returns active mode without modifying it.

Parametry:

Enable: Ustawia lub usuwa nowy tryb zgodności, gdy argument jest obecny.

note

Funkcja CompatibilityMode odnosi się do Option VBASupport 1, w takim przypadku zawsze zwraca True. Nie jest powiązana z dyrektywą kompilatora Option Compatible.


Ta funkcja może mieć wpływ na następujące sytuacje:

Przykład:

Zakładając, że katalog file:///home/me/Test NIE jest pusty


      Sub RemoveDir
      

MsgBox CompatibilityMode() ' False

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

MsgBox CompatibilityMode ' False

End Sub

W przypadku CompatibilityMode( True ) program zgłasza błąd, w przeciwnym razie katalog Test i cała jego zawartość zostaną usunięte.

Przykład:

Modyfikowanie zachowania Dir


    Sub VBADirCommand
        CompatibilityMode( Enable := True )   ' Pokazuje również normalne pliki
        Entry$ = Dir( "file:///home/me/Tmp/*.*", 16 )
        Total$ = ""
        While Entry$ <> ""
            Total$ = Total$ + Entry$ + Chr$(13)
            Entry$ = Dir
        Wend
        MsgBox Total$
        CompatibilityMode Enable := False ' Pokazuje tylko katalogi
    End Sub