La Web del Programador: Comunidad de Programadores
 
    Pregunta:  3881 - PASAR NOMBRE DE PROCEDIMIENTO COMO PARÁMETRO
Autor:  Antonio Pinedo Cáceres
Hola.
Cuando yo quiero ejecutar un procedimiento llamado Proc_añadir() para ejecutar este yo tengo que usar la sentencia:
Call Proc_Añadir
¿Existe alguna manera de que yo pueda definir una variable de tal manera que el nombre del procedimiento se lo pueda pasar a esta variable y con esta pueda ejecutar el procedimiento, o la anteriormente mencionada es la única manera?

Gracias

  Respuesta:  Daniel Catalá Pachés
Creo que lo que quieres es llamar a la rutina que tu elijas cogiendo el nombre de una variable.
Es muy sencillo.

CallByName Objeto,"Nombre del método ó evento",Constante de método, evento,etc...,"Parametros"...

Ejemplo

Sub MuestraMensaje(psTexto as string)
msgbox psTexto
end sub

y lo llamas con :
CallByName Form1, "MuestraMensaje", VbMethod, "mensaje"

  Respuesta:  Xavi
Hola, no se si quieres recibir el resultado de la funcion, o enviar un parametro a la funcion, pero te muestro un ejemplo que envia y recibe, ok?

.....
dim i as integer
´llama a la funcion enviandole una cadena y esperando un entero como respuesta.
i=Proc_añadir(Valor)
....

´esta funcion tiene que recibir una cadena, y devuelve un entero.
Private Function Proc_añadir(Valor as string) as integer
....
´devuelve un valor entero
Proc_añadir=1
end Function