Ejecuta un método de un objeto, o establece o devuelve una propiedad de un objeto.

Sintaxis

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

La sintaxis de la función CallByName tiene estos argumentos:

Argumento

Descripción

objeto

Requerido. Variant (objeto). El nombre del objeto en el que se ejecutará la función.

nombre procname

Requerido. Variant (String). Una expresión de cadena que contiene el nombre de una propiedad o método del objeto.

tipo de llamada

Requerido. Constante. Constante de tipo vbCallType que representa el tipo de procedimiento al que se llama.

args ()

Opcional. Variant (Array).

Observaciones

La función CallByName se usa para obtener o establecer una propiedad, o para invocar un método en tiempo de ejecución con un nombre de cadena.

En el ejemplo siguiente, la primera línea usa CallByName para establecer la propiedad MousePointer de un cuadro de texto, la segunda línea obtiene el valor de la propiedad MousePointer y la tercera línea invoca el método Move para mover el cuadro de texto:

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

Ejemplo

Nota: Los ejemplos siguientes muestran el uso de esta función en un módulo de Visual Basic para Aplicaciones (VBA). Para obtener más información sobre cómo trabajar con VBA, seleccione referencia para desarrolladores en la lista desplegable situada junto a búsqueda y escriba uno o varios términos en el cuadro de búsqueda.

En este ejemplo se usa la función CallByName para invocar el método Move de un botón de comando.

En el ejemplo también se usa un formulario (Form1) con un botón (Command1) y una etiqueta (Label1). Cuando se carga el formulario, la propiedad Caption de la etiqueta se establece en el nombre del método para invocar, en este caso, "Mover". Al hacer clic en el botón, la función CallByName invoca el método para cambiar la ubicación del botón.

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

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.