Conteúdo
Índice 🔎︎

# Função CompatibilityMode()

A função CompatibilityMode() controla o modo de execução e afeta todo o código subsequente.

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

A instrução Option Compatible ativa a compatibilidade VBA no nível do módulo para o interpretador do LibreOffice Basic.

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

- Criar enumerações com a Instrução Enum

- Executar o comando RmDir no modo VBA. No VBA, somente diretórios vazios são removidos por RmDir enquanto no LibreOffice Basic a remoção é total e recursiva.

- Alterar o comportamento do comando Basic Dir. O sinalizador de diretório (16) do comando Dir significa que somente são retornados diretórios no LibreOffice Basic, enquanto arquivos normais e diretórios são retornados no VBA.

A função CompatibilityMode() pode ser necessária quando recorrer aos modos do compilador Option Compatible ou Option VBASupport.

### Sintaxe:

CompatibilityMode(True | False)

### Exemplo:

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

            Sub RemoveDir
                CompatibilityMode( true )
                RmDir( "file:///home/me/Test" )
            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( 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$
        End Sub

Tópicos relacionados

Instrução Option Compatible

Consulte Identificar o sistema operacional e Obter informação da sessão para exemplos da instrução Option Compatible, ou Biblioteca compartilhada Basic Access2Base para outros exemplos de classes que usam o modo do compilador Option Compatible.

Instrução Rem

Modificação do escopo de variáveis em Utilizando procedimentos e funções com a função CompatibilityMode().

Instrução Option Base

Instrução Option Explicit

Instrução Option VBASupport

Instrução Option ClassModule