Compartilhar via


Instrução Property Let

Declara o nome, argumentos e código que formam o corpo de um procedimentopropriedade, que atribui um valor a uma propriedade.

Sintaxe

[ Público | Privado | Amigo ] [ Estático ] Property Letname ( [ arglist ], value )
[instruções]
[ Propriedade de Saída ]
[instruções]
End Property

A sintaxe da instrução Property Let tem as seguintes partes:

Sair Descrição
Public Opcional. Indica que o procedimento Property Let 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 Let está acessível apenas a outros procedimentos no módulo onde é declarado.
Amigo Opcional. Usado somente em um módulo de classe. Indica que o procedimento Property Let 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 Let são preservadas entre chamadas. O atributo Estático não afeta as variáveis declaradas fora do procedimento Property Let , mesmo que sejam utilizadas no procedimento.
name Obrigatório. Nome do procedimento Property Let ; segue as convenções de nomenclatura de variáveis padrão, exceto que o nome pode ser o mesmo que um procedimento Obtenção de Propriedade ou Conjunto de Propriedades no mesmo módulo.
listadeargumentos Obrigatório. Lista de variáveis que representam argumentos que são transmitidos para o procedimento Property Let quando é chamado. Vários argumentos são separados por vírgulas. O nome e o tipo de dados de cada argumento num procedimento Property Let têm de ser os mesmos que o argumento correspondente num procedimento Obter Propriedade .
value Obrigatório. Variável para conter o valor a ser atribuído à propriedade . Quando o procedimento é chamado, este argumento aparece no lado direito da expressão de chamada. O tipo de dados do valor tem de ser o mesmo que o tipo de retorno do procedimento Get de Propriedade correspondente.
instruções Opcional. Qualquer grupo de instruções a executar no procedimento Property Let .

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. Tenha em atenção que não é possível que o lado direito de uma expressão Property Let seja Opcional.
ByVal Opcional. Indica se o argumento será passado por valor.
ByRef Opcional. Indica se o argumento será passado por referência. ByRef é a predefinição no VBA, ao contrário do Visual Basic .NET.
ParamArray Opcional. Indica que o argumento é uma matriz Opcional de elementos variantes . A palavra-chave ParamArray permite que você forneça um número aleatório de argumentos. Não pode ser utilizado com ByVal, ByRef ou Opcional. Este palavra-chave não pode ser o último elemento nem o único elemento do arglist.
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 transmitido ao procedimento; podem ser Byte, Booleano, Número Inteiro, Longo, Conversor de Moedas, Único, Duplo, Decimal (não suportado atualmente), Data, Cadeia (apenas comprimento de 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 expressão constante ou constante. Válido somente para parâmetros Optional. Se o tipo for um Objeto, um valor predefinido explícito só pode ser Nada.

Observação

Cada instrução Property Let tem de definir pelo menos um argumento válido para o procedimento que define. O "válido" significa que não deve ser modificado com "Opcional" nem "ParamArray". Esse argumento (ou o último argumento, se existir mais do que um) contém o valor real a ser atribuído à propriedade quando o procedimento definido pela instrução Property Let for invocado. Esse argumento é referido como valor na sintaxe anterior.

Comentários

Se não for explicitamente especificado através da utilização de Procedimentos de PropriedadePública, Privada ou Amigo, os procedimentos de Propriedade são públicos por predefiniçã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 pode definir um procedimento Property Let dentro de outro procedimento de Propriedade, Sub ou Função .

A instrução Exit Property provoca uma saída imediata de um procedimento Property Let . A execução do programa continua com a instrução a seguir à instrução que chamou o procedimento Property Let . Qualquer número de instruções Exit Property pode aparecer em qualquer lugar num procedimento Property Let .

Tal como um procedimento Get de Função e Propriedade , um procedimento Property Let é um procedimento separado que pode utilizar argumentos, executar uma série de instruções e alterar o valor dos respetivos argumentos. No entanto, ao contrário de um procedimento Function e Property Get , ambos devolvem um valor, só pode utilizar um procedimento Property Let no lado esquerdo de uma expressão de atribuição de propriedade ou instrução Let .

Exemplo

Este exemplo utiliza a instrução Property Let para definir um procedimento que atribui um valor a uma propriedade. A propriedade identifica a cor da caneta para um pacote de desenho.

Dim CurrentColor As Integer 
Const BLACK = 0, RED = 1, GREEN = 2, BLUE = 3 
 
' Set the pen color property for a Drawing package. 
' The module-level variable CurrentColor is set to 
' a numeric value that identifies the color used for drawing. 
Property Let PenColor(ColorName As String) 
 Select Case ColorName ' Check color name string. 
 Case "Red" 
 CurrentColor = RED ' Assign value for Red. 
 Case "Green" 
 CurrentColor = GREEN ' Assign value for Green. 
 Case "Blue" 
 CurrentColor = BLUE ' Assign value for Blue. 
 Case Else 
 CurrentColor = BLACK ' Assign default value. 
 End Select 
End Property 
 
' The following code sets the PenColor property for a drawing package 
' by calling the Property let procedure. 
 
PenColor = "Red" 

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.