Instrução Property Set

Declara o nome, os argumentose o código que formam o corpo de um procedimento Property ,que define uma referência a um objeto.

Sintaxe

[ Público | Private | Amigo ] [ Static ] Nome do conjuntode propriedades ( [ arglist ], reference )
[instruções]
[ Propriedade Exit ]
[instruções]
Propriedade End


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

Sair Descrição
Opcional Opcional. Indica que o argumento pode ou não ser fornecido pelo chamador.
Public Opcional. Indica que o procedimento Conjunto de Propriedades 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 Conjunto de Propriedades está acessível somente a outros procedimentos no módulo em que ele é declarado.
Friend Opcional. Usado somente em um módulo de classe. Indica que o procedimento Conjunto de Propriedades 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 Conjunto de Propriedades são preservadas entre chamadas. O atributo Static não afeta variáveis declaradas fora do procedimento Conjunto de Propriedades, mesmo que sejam usadas no procedimento.
name Obrigatório. Nome do procedimento Conjunto de Propriedades; segue convenções de nomenis de variável padrão, exceto que o nome pode ser o mesmo que um procedimento Property Get ou Property Let no mesmo módulo.
listadeargumentos Obrigatório. Lista de variáveis que representam argumentos que são passados para o procedimento Conjunto de Propriedades quando ele é chamado. Vários argumentos são separados por vírgulas.
reference Obrigatório. Variável que contém a referência de objeto usada no lado direito da atribuição de referência do objeto.
instruções Opcional. Qualquer grupo de instruções a ser executado no corpo do procedimento Property.

O argumento listadeargumentos tem as seguintes sintaxe e partes:

[ Opcional ] [ ByVal | ByRef ] [ ParamArray ] varname [ ( ) ] [ As type ] [ = 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. Observe que não é possível que o lado direito de uma expressão de Conjunto de Propriedades seja Opcional.
ByVal Opcional. Indica se o argumento será passado por valor.
ByRef Opcional. Indica se o argumento será passado por referência. ByRef é padrão no Visual Basic.
ParamArray Opcional. Usado apenas como o último argumento na lista de 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. Pode não 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, Boolean, Integer, Long, Conversor de Moedas, Single, Double, Decimal (atualmente não suportado), Date, String (somente comprimento variável), Object, Variantou 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 expressão constante ou constante. Válido somente para parâmetros Optional. Se o tipo for um Object, um valor padrão explícito só poderá ser Nothing.

Observação

Cada instrução Property Set deve definir pelo menos um argumento para o procedimento definido. Esse argumento (ou o último argumento se houver mais de um) contém a referência de objeto real para a propriedade quando o procedimento definido pela instrução Property Set é invocado. Ele é conhecido como referência na sintaxe anterior. Não pode ser Opcional.

Comentários

Se não for especificado explicitamente usando procedimentos Públicos, Privados ou Amigos, os procedimentos de propriedade serão públicos por padrão. Se Static não for usado, o valor de variáveis locais não será preservado entre 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. Não é possível definir um procedimento Conjunto de Propriedades dentro de outro procedimento Property, Sub ou Function.

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

Como um procedimento Function and Property Get, um procedimento Property Set é um procedimento separado que pode usar argumentos, executar uma série de instruções e alterar o valor de seus argumentos. No entanto, ao contrário de um procedimento Function e Property Get, ambos retornam um valor, você só pode usar um procedimento Conjunto de Propriedades no lado esquerdo de uma atribuição de referência de objeto ou instrução Set.

Exemplo

Este exemplo usa a instrução Property Set para definir um procedimento de propriedade que define uma referência a um objeto.

' The Pen property may be set to different Pen implementations. 
Property Set Pen(P As Object) 
 Set CurrentPen = P ' Assign Pen to object. 
End Property

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.