Executa um método de um objeto, define ou devolve uma propriedade de um objeto.

Sintaxe

CallByName ( object , procname, calltype [, args()])

A sintaxe da função CallByName tem estes argumentos:

Argumento

Descrição

objeto

Obrigatório. Variante (Objeto). O nome do objeto no qual a função será executada.

procname

Obrigatório. Variante (Cadeia). Uma expressão de cadeia que contém o nome de uma propriedade ou método do objeto.

tipo de chamada

Obrigatório. Constante. Uma constante do tipo vbCallType que representa o tipo de procedimento que está a ser chamado.

args ()

Opcional. Variante (Matriz).

Observações

A função CallByName é utilizada para obter ou definir uma propriedade ou para invocar um método no tempo de execução com um nome de cadeia.

No exemplo seguinte, a primeira linha utiliza CallByName para definir a propriedade MousePointer de uma caixa de texto, a segunda linha obtém o valor da propriedade MousePointer e a terceira linha invoca o método Mover para mover a caixa de texto:

CallByName Text1, "MousePointer", vbLet, vbCrosshairResult = CallByName (Text1, "MousePointer", vbGet)CallByName Text1, "Move", vbMethod, 100, 100

Exemplo

Nota: Os exemplos seguintes demonstram a utilização desta função no módulo VBA (Visual Basic for Applications). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência para Programadores na lista pendente junto a Procurar e introduza um ou mais termos na caixa de pesquisa.

Este exemplo utiliza a função CallByName para invocar o método Mover de um botão de comando.

O exemplo também utiliza um formulário (Form1) com um botão (Command1) e uma etiqueta (Label1). Quando o formulário é carregado, a propriedade Legenda da etiqueta é definida como o nome do método a invocar, neste caso, "Mover". Quando clica no botão, a função CallByName invoca o método para alterar a localização do botão.

Option ExplicitPrivate Sub Form_Load()  Label1.Caption = "Move"' Name of Move method.End SubPrivate Sub Command1_Click()If Command1.Left <> 0 Then  CallByName Command1, Label1.Caption, vbMethod, 0, 0Else  CallByName Command1, Label1.Caption, vbMethod, 500, 500End If

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.