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ść:

Funkcja CompatibilityMode zawsze zwraca tryb, który jest aktywny po jej wykonaniu. To znaczy, jeśli wywołana z argumentem, zwraca nowy tryb; jeśli wywołana bez argumentu, zwraca aktywny tryb bez modyfikowania go.

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

Prosimy o wsparcie!