Ajuda do Collabora Office 24.04
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.
Utilize este recurso com cautela, limite-se à conversão de documentos por exemplo.
CompatibilityMode(Optional Ativado As Boolean) As Boolean
A função CompatibilityMode sempre retorna o modo que está ativo após sua execução. Se for chamada com um argumento, retorna o novo modo. Se for chamada sem argumentos, retorna o modo ativo sem modificá-lo.
Ativado: Ativa ou desativa o modo de compatibilidade.
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:
No escopo das variáveis.
Executar o comando RmDir no modo VBA. No VBA, somente diretórios vazios são removidos por RmDir enquanto no Collabora Office 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 Collabora Office Basic, enquanto arquivos normais e diretórios são retornados no VBA.
Cálculos de componentes de cores com as funções Red e Blue que trocadas (a função Green não é afetada).
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.
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