Regresar a la Pagina de Inicio

17 dic. 2010

onAction o como asignar macros en forma dinamica

He recibido una consulta mas que interesante: un lector está desarrollando un proyecto muy dinámico, el cual debe asignar macros a distintos objetos luego de crearlos. Dichos objetos son las famosas "Autoformas",  presentes en el menú "Insertar / Imagen / Autoforma", conocidas en el ámbito de VBA como "Shapes" Recordemos que, en un 99,99% de los casos, grabamos y/o codificamos una macro, luego insertamos la Autoforma y por último le asignamos la macro en cuestión. Todo ello en forma manual. Mi lector necesita otra cosa: las macros ya están listas, pero desea insertar insertar una Shape y luego asignarle la macro... Todo ello mediante código. Veamos como.
pequeño ejemplo de las Shapes de Excel
[+/-] Ver el resto / Ocultar

3 comentarios:

francisco dijo...

saludos desde Chile !!!
hace tiempo sigo tu blog y me ha servido mucho, pero este ejemplo que nos das no me sirve para enviar un sub con argumentos. por mas que lo intente siempre arroja error.

Damian Omar Silva dijo...

exacto mi hermano transcordillerano. en el ejemplo no cito la forma de enviar argumentos a sub llamado desde OnAction. te aclaro que el lector que me envió el mail no solicitó tal procedimiento, por eso no lo incluí. Pero por suerte tocaste el tema, ya que es muy importante y muchos lo omiten por que, simplemente, falla.
Y puede parecer algo sencillo (y en efecto lo es), pero si no se colocan correctamente las comillas.... no funciona. te levanto una entrada al respecto y luego te aviso. gracias x tu mensaje.

Damian Omar Silva dijo...

francisco: te dejo el link a la entrada que elaboré en base a tu consulta, sobre como pasar argumentos al invocar a OnAction.
http://damianexcel.blogspot.com/2010/12/onaction-pasar-macros-con-argumentos.html

Publicar un comentario

Regresar a la Pagina de Inicio

ENTRADAS MAS RECIENTES (ULTIMAS 10)


las + vistas

10 ULTIMOS COMENTARIOS DE MIS LECTORES

Free counters!
blog de periodismo




GRAFICA RIO BRAVO
Serigrafia-Offset
Rosario - Santa Fe - Argentina
TE: 0341 4664028