Compartilhar via


Instrução pública

Utilizado ao nível do módulo para declarar variáveis públicas e alocar espaço de armazenamento.

Sintaxe

Public [ WithEvents ] varname [ ( [ subscripts ] ) ] [ As [ New ] type ]
[ , [ WithEvents ] varname [ ( [ subscripts ] ) ] [ As [ New ] type ]] . . . .

A sintaxe da declaração Pública tem as seguintes partes:

Sair Descrição
WithEvents Opcional. Palavra-chave que especifica que varname é uma variável de objeto utilizada para responder a eventos acionados por um objeto ActiveX. WithEvents só será válido em módulos de classe. Pode declarar quantas variáveis individuais quiser ao utilizar WithEvents, mas não pode criar matrizes com WithEvents, nem pode utilizar Novo com WithEvents.
nomedavariável Obrigatório. Nome da variável; segue as convenções de nomenclatura padrão.
subscritos Opcional. Dimensões de uma variável de matriz; é possível declarar até 60 dimensões múltiplas. O argumentoinferior à linha utiliza a seguinte sintaxe:

[ inferiorTo ] superior [ , [ inferiorTo ] superior ] . . .

Quando não for explicitamente indicado em inferior, o limite inferior de uma matriz será controlado pela instrução Option Base. O limite inferior será zero se nenhuma instrução Option Base estiver presente.
New Opcional. Palavra-chave que permite a criação implícita de um objeto. Se você usar New ao declarar a variável de objeto, uma nova instância do objeto será criada na primeira referência a ela, para que não seja necessário usar a instrução Set para atribuir a referência ao objeto. O novo palavra-chave não pode ser utilizado para declarar variáveis de qualquer tipo de dados intrínseco. Também não pode ser utilizado para declarar instâncias de objetos dependentes e não pode ser utilizado com WithEvents.
type Opcional. Tipo de dados da variável; podem ser Byte, Booleano, Número Inteiro, Longo, Conversor de Moedas, Único, Duplo, Decimal (não suportado atualmente), Data, Cadeia (para cadeias de comprimento variável),Comprimento da cadeia (para cadeias de comprimento fixo), Objeto, Variante, um tipo definido pelo utilizador ou um tipo de objeto. Use uma cláusula Astipo para todas as variáveis que estão sendo definidas.

Comentários

As variáveis declaradas através da instrução Pública estão disponíveis para todos os procedimentos em todos os módulos em todas as aplicações, a menos que o Módulo Privado de Opção esteja em vigor; Nesse caso, as variáveis são públicas apenas no projeto em que residem.

A instrução Pública não pode ser utilizada num módulo de classe para declarar uma variável de cadeia de comprimento fixo.

Utilize a instrução Pública para declarar o tipo de dados de uma variável. Por exemplo, a seguinte instrução declara uma variável como um Número Inteiro:

Public NumberOfEmployees As Integer 

Utilize também uma instrução Pública para declarar o tipo de objeto de uma variável. A instrução seguinte declara uma variável para uma nova instância de uma folha de cálculo:

Public X As New Worksheet 

Se a palavra-chave New não for usada ao declarar uma variável de objeto, a variável que se refere ao objeto deverá receber um objeto existente usando a instrução Set para poder ser usada. Até ser atribuído um objeto, a variável de objeto declarado tem o valor especial Nada, o que indica que não se refere a nenhuma instância específica de um objeto.

Também pode utilizar a instrução Pública com parênteses vazios para declarar uma matriz dinâmica. Após declarar uma matriz dinâmica, use a instrução ReDim dentro de um procedimento para definir o número de elementos e as dimensões na matriz. Se tentar voltar a declarar uma dimensão para uma variável de matriz cujo tamanho foi explicitamente especificado numa instrução Privado, Público ou Dim , ocorre um erro.

Se não especificar um tipo de dados ou tipo de objeto e não existir nenhuma instrução Deftype no módulo, a variável é Variante por predefinição.

Quando as variáveis são inicializadas, uma variável numérica é inicializada como 0, uma cadeia de caracteres de comprimento variável é inicializada para uma cadeia caracteres de comprimento zero ("") e uma cadeia de caracteres de comprimento fixo é preenchida com zeros. As variáveis Variant são inicializadas para Empty. Todo elemento de uma variável de tipo definido pelo usuário é inicializado como se fosse uma variável separada.

Exemplo

Este exemplo utiliza a instrução Pública ao nível do módulo (secção Geral) de um módulo padrão para declarar explicitamente variáveis como públicas; ou seja, estão disponíveis para todos os procedimentos em todos os módulos em todas as aplicações, a menos que o Módulo Privado de Opção esteja em vigor.

Public Number As Integer ' Public Integer variable. 
Public NameArray(1 To 5) As String ' Public array variable. 
' Multiple declarations, two Variants and one Integer, all Public. 
Public MyVar, YourVar, ThisVar As Integer 

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.