Como usar a instrução Option Private no VBA?

A instrução `Option Private` no VBA é usada para controlar a visibilidade dos itens definidos em um módulo quando o projeto VBA é referido por outro projeto. Isso é útil quando você deseja impedir que variáveis, funções ou objetos sejam acessíveis fora do projeto em que foram definidos. Veja como você pode usá-la:

Sintaxe

Option Private Module

Uso

  • Localização: A instrução `Option Private` deve ser colocada no início de um módulo, antes de qualquer procedimento ou declaração de variável. Geralmente, é a primeira linha no módulo.
  • Escopo: Quando você declara `Option Private Module` em um módulo, todos os procedimentos e variáveis públicas nesse módulo ficarão ocultos para outros projetos, mas eles ainda estarão acessíveis dentro do mesmo projeto.

Exemplo

Imagine que você tem um módulo chamado `ModuloExemplo` em um projeto VBA.

Option Private Module

Public Sub ExibirMensagem()
    MsgBox "Este é um exemplo de procedimento público"
End Sub

Nesse exemplo, `ExibirMensagem` é um procedimento público e, normalmente, seria acessível de outros projetos que referenciam este projeto VBA. No entanto, ao usar `Option Private Module`, `ExibirMensagem` não estará visível para outros projetos.

Considerações

  • Uso Combinado: Você ainda pode ter variáveis e procedimentos privados no módulo. A instrução `Option Private Module` apenas impede o acesso externo a itens públicos.
  • Utilidade: Isso é especialmente útil em projetos complexos onde você deseja ocultar a implementação interna e evitar o acesso não autorizado ou não intencional a certas funcionalidades.
  • Limitações: `Option Private` não afeta o acesso dentro do mesmo projeto VBA, apenas o acesso quando o projeto é referenciado externamente.

Essa instrução ajuda a encapsular a lógica de um projeto, mantendo a interface pública somente para consumo interno, enquanto oculta detalhes de implementação de usuários e desenvolvedores que possam referenciar o projeto.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project