Funzione CompatibilityMode()

La funzione CompatibilityMode() controlla o richiede informazioni sul modo in fase di esecuzione (runtime). Ha effetto su tutto il codice eseguito dopo l'impostazione o la reimpostazione del modo della fase di esecuzione.

warning

Utilizzate questa funzione con cautela, limitatela, per esempio, alla conversione di documenti.


Sintassi:

CompatibilityMode(Optional Enable As Boolean) As Boolean

Valore restituito:

La funzione CompatibilityMode restituisce sempre il modo attivo dopo la sua esecuzione. Quindi, se chiamata con argomento, restituisce il nuovo modo; se chiamata senza argomento, restituisce il modo attivo senza modificarlo.

Parametri:

Enable: attiva o disattiva il nuovo modo di compatibilità nel caso in cui l'argomento sia presente.

note

La funzione CompatibilityMode è collegata all'opzione VBASupport 1, che in tal caso restituisce sempre True. Non è invece collegata alla direttiva del compilatore Option Compatible.


Questa funzione può interessare o aiutare nelle situazioni sotto specificate:

Esempio:

Specificata una directory NON vuota in file:///home/me/Test

Sub RemoveDir
    MsgBox CompatibilityMode() ' False

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

    MsgBox CompatibilityMode ' False
End Sub

Con CompatibilityMode( True ) il programma genera un errore, altrimenti la directory Test viene eliminata con il suo contenuto.

Esempio:

Modifica del comportamento Dir

Sub VBADirCommand
    CompatibilityMode( Enable := True ) ' Mostra anche file normali
    Entry$ = Dir( "file:///home/me/Tmp/*.*", 16 )
    Total$ = ""
    While Entry$ <> ""
        Total$ = Total$ + Entry$ + Chr$(13)
        Entry$ = Dir
    Wend
    MsgBox Total$
    CompatibilityMode Enable := False ' Mostra solo le directory
End Sub

Sosteneteci!