Função CompatibilityMode()

A função CompatibilityMode() controla ou consulta o modo de tempo de execução. Esta função afeta todo o código executado após o modo de execução ser definido ou resetado.

warning

Utilize este recurso com cautela, limite-se à conversão de documentos por exemplo.


Sintaxe:


      CompatibilityMode(Optional Ativado As Boolean) As Boolean
    

Valor de retorno:

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

Parâmetros:

Ativado: Ativa ou desativa o modo de compatibilidade.

note

A função CompatibilityMode está reacionada à Option VBASupport 1, e neste caso, sempre retorna True. Ela não está relacionada às diretivas de compilação Option Compatible.


Esta função pode afetar ou ajudar nas seguintes situações:

Exemplo:

Dado um diretório NÃO vazio em file:///home/me/Test


      Sub RemoveDir
      

MsgBox CompatibilityMode() ' False

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

MsgBox CompatibilityMode ' False

End Sub

Com CompatibilityMode( true ) o programa resulta em erro, senão o diretório Test e todo seu conteúdo é excluído.

Exemplo:

Modificar o comportamento de Dir


    Sub VBADirCommand
        CompatibilityMode( Enable:=True )   ' Mostra também os arquivos normais
        Entry$ = Dir( "file:///home/me/Tmp/*.*", 16 )
        Total$ = ""
        While Entry$ <> ""
            Total$ = Total$ + Entry$ + Chr$(13)
            Entry$ = Dir
        Wend
        MsgBox Total$
        CompatibilityMode Enable := False ' Mostra somente diretórios
    End Sub