Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A tabela seguinte lista a sintaxe para chamar procedimentos de propriedade:
| Procedimento Property | Sintaxe |
|---|---|
| Obter Propriedade | [Definir ] varname = [ object.] propname [( [argumentos] )] |
| Deixar Propriedade | [Let ] [ objeto.] propname [( [argumentos] )] = argumento |
| Definir Propriedade | Definir [ objeto.] propname [( [argumentos] )] = objectArg |
As chamadas de procedimentos de propriedade requerem, pelo menos, um argumento, o operador de atribuição (=) e o nome do procedimento de propriedade.
- Numa chamada com o nome da propriedade no lado direito do operador de atribuição, o Visual Basic chama Propriedade Obter para devolver informações da classe/objeto.
- Numa chamada com o nome da propriedade no lado esquerdo do operador de atribuição, o Visual Basic chama Property Let ou Property Set para atualizar as informações dentro do objeto de classe.
Se a declaração de um procedimento de propriedade tiver vários parâmetros, chamando Propriedade Let ou Conjunto de Propriedades, passa o argumento no lado direito do operador de atribuição para o último parâmetro para os procedimentos Property Let ou Property Set .
Por exemplo, o diagrama seguinte utiliza Property Let para mostrar como os argumentos na chamada do procedimento de propriedade (na parte superior) se relacionam com os parâmetros na declaração (na parte inferior):
O exemplo de código seguinte demonstra a relação entre os argumentos do procedimento de propriedade e os parâmetros.
'DemoType class declaration
Private pW
Private pX
Private pY
Private pZ
Property Get DemoProperty(w, x, y)
'Calling format is: `z = DemoProperty(w, x, y)`
' or `Set z = DemoProperty(w, x, y)`
w = pW
x = pX
y = pY
If IsObject(pZ) Then
Set DemoProperty = pZ
Else
DemoProperty = pZ
End If
End Property
Property Let DemoProperty(w, x, y, z)
'Calling format is `DemoProperty(w, x, y) = z`
pW = w
pX = x
pY = y
pZ = z
End Property
Property Set DemoProperty(w, x, y, z As Object)
'Calling format is `Set DemoProperty(w, x, y) = z`
pW = w
pX = x
pY = y
Set pZ = z
End Property
Sub DemoSub()
Dim myDemo As Object
Dim a, b, c, d
Dim w, x, y, z
Set myDemo = New DemoType
a = "Hello"
b = ", "
c = "world"
d = "!"
Debug.Print Join(Array(a, b, c, d), "") ' Hello, world!a
'Call Property Let DemoProperty(a, b, c, d)
Let myDemo.DemoProperty(a, b, c) = d
'Call Property Get
d = myDemo.DemoProperty(a, b, c)
Debug.Print Join(Array(a, b, c, d), "") ' Hello, world!
End Sub
Na prática, a única utilização para procedimentos de propriedade com vários argumentos é criar matrizes de propriedades.
Confira também
- Tópicos conceituais do Visual Basic
- Declarações do Visual Basic
- Mensagens de erro da interface de utilizador do Visual Basic
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.