Instrução Property Get

Declara o nome, os argumentos e o código que formam o corpo de um procedimentoProperty, que obtém o valor de uma propriedade.

Sintaxe

[ Público | Privado | Amigo ] [ Estático ] Property Getname [ (arglist) ] [ Astype ]
[instruções]
[ nome=expressão ]
[ Propriedade de saída ]
[instruções]
[ nome=expressão ]
End Property

A sintaxe da instrução Property Get tem estas partes:

Sair Descrição
Public Opcional. Indica que o procedimento Property Get está acessível a todos os outros procedimentos em todos os módulos. Se usado em um módulo que contém uma instrução Option Private, o procedimento não está disponível fora do projeto.
Private Opcional. Indica que o procedimento Property Get é acessível somente a outros procedimentos no módulo em que é declarado.
Amigo Opcional. Usado somente em um módulo de classe. Indica que o procedimento Property Get está visível em todo o projeto, mas não visível para um controlador de uma instância de um objeto.
Static Opcional. Indica que as variáveis locais do procedimento Property Get são preservadas entre chamadas. O atributo Static não afeta variáveis declaradas fora do procedimento Property Get , mesmo que sejam usadas no procedimento.
name Obrigatório. Nome do procedimento Property Get ; segue as convenções de nomenclatura de variáveis padrão, exceto que o nome pode ser o mesmo que um procedimento Property Let ou Property Set no mesmo módulo.
listadeargumentos Opcional. Lista de variáveis que representam argumentos que são passados para o procedimento Property Get quando ele é chamado. Vários argumentos são separados por vírgulas. O nome e o tipo de dados de cada argumento em um procedimento Property Get devem ser os mesmos que o argumento correspondente em um procedimento Property Let (se houver).
type Opcional. Tipo de dados do valor retornado pelo procedimento Property Get; pode ser Byte, Booliano, Inteiro, Longo, Conversor de Moedas, Simples, Duplo, Decimal (não há suporte no momento), Data, Cadeia de Caracteres (exceto comprimento fixo), Objeto, Variante, tipo definido pelo usuário e Matrizes.

O tipo de retorno de um procedimento Property Get deve ser o mesmo tipo de dados que o último (ou, às vezes, o único) argumento em um procedimento Property Let correspondente (se houver) que define o valor atribuído à propriedade no lado direito de uma expressão.
instruções Opcional. Qualquer grupo de instruções a serem executadas no corpo do procedimento Property Get .
expression Opcional. Valor da propriedade retornada pelo procedimento definido pela instrução Property Get .

O argumento listadeargumentos tem as seguintes sintaxe e partes:

[ Optional ] [ ByVal | ByRef ] [ ParamArray ] varname [()] [ Comotype ] [ =defaultValue ]

Sair Descrição
Opcional Opcional. Indica se um argumento não é obrigatório. Se for usado, todos os argumentos subsequentes em arglist também deverão ser opcionais e declarados usando a palavra-chave Optional.
ByVal Opcional. Indica se o argumento será passado por valor.
ByRef Opcional. Indica se o argumento será passado por referência. ByRef é o padrão no VBA, ao contrário do Visual Basic .NET.
ParamArray Opcional. Usado apenas como o último argumento em arglist para indicar que o argumento final é uma matriz opcional de elementos Variant . A palavra-chave ParamArray permite que você forneça um número aleatório de argumentos. Não pode ser usado com ByVal, ByRef ou Opcional.
nomedavariável Obrigatório. Nome da variável que representa o argumento passado; segue as convenções de nomenclatura de variável padrão.
tipo Opcional. Tipo de dados do argumento passado para o procedimento; pode ser Byte, Booleano, Inteiro, Longo, Conversor de Moedas, Simples, Duplo, Decimal (não há suporte no momento), Data, Cadeia de caracteres (somente comprimento variável), Objeto, Variante ou um tipo de objeto específico. Se o parâmetro não for Optional, um tipo definido pelo usuário também poderá ser especificado.
valorpadrão Opcional. Qualquer constante ou expressão constante. Válido somente para parâmetros Optional. Se o tipo for um Object, um valor padrão explícito só poderá ser Nothing.

Comentários

Se não for especificado explicitamente usando Público, Privado ou Amigo, os procedimentos de Propriedade serão públicos por padrão. Se Static não for usado, o valor das variáveis locais não será preservado entre as chamadas.

A palavra-chave Friend só pode ser usada em módulos de classe. No entanto, procedimentos Friend podem ser acessados por procedimentos em qualquer módulo de um projeto. Um procedimento Friend não aparece na biblioteca de tipos de sua classe pai, e um procedimento Friend não ser pode associado tardiamente.

Todo código executável deve estar em procedimentos. Você não pode definir um procedimento Property Get dentro de outro procedimento Property, Sub ou Function .

A instrução Exit Property causa uma saída imediata de um procedimento Property Get . A execução do programa continua com a instrução após a instrução que chamou o procedimento Property Get . Qualquer número de instruções de propriedade de saída pode aparecer em qualquer lugar em um procedimento Property Get .

Como um procedimento Sub e Property Let , um procedimento Property Get é um procedimento separado que pode receber argumentos, executar uma série de instruções e alterar os valores de seus argumentos. No entanto, ao contrário de um procedimento Sub ou Property Let , você pode usar um procedimento Property Get no lado direito de uma expressão da mesma forma que usa uma função ou um nome de propriedade quando deseja retornar o valor de uma propriedade.

Exemplo

Este exemplo usa a instrução Property Get para definir um procedimento de propriedade que obtém o valor de uma propriedade. A propriedade identifica a cor atual de uma caneta como uma cadeia de caracteres.

Dim CurrentColor As Integer 
Const BLACK = 0, RED = 1, GREEN = 2, BLUE = 3 
 
' Returns the current color of the pen as a string. 
Property Get PenColor() As String 
 Select Case CurrentColor 
 Case RED 
 PenColor = "Red" 
 Case GREEN 
 PenColor = "Green" 
 Case BLUE 
 PenColor = "Blue" 
 End Select 
End Property 
 
' The following code gets the color of the pen 
' calling the Property Get procedure. 
ColorName = PenColor 

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.