Instalé un complemento (protegido) que cuenta con varias opciones. Necesito la instrucción VBA para ejecutar 1 de sus opciones. Gracias por la ayuda que puedan brindarme.
Sáb, 16/05/2015 - 13:39
#1
Ejecutar complemento mediante VBA
Si está protegido, lo único correcto que te queda es buscar en la documentación del complemento.
Un saludo
Gracias. Ya se el nombre de la macro que responde a una de las opciones que necesito, pero necesito la instrucción completa, algo así como Application.Run MacroXX
Si ejecuto la opción desde la barra del complemento con la grabadora encendida no me graba ninguna línea... me puedes ayudar con alguna instrucción?
Gracias por tu atención.
Lo siento, que yo sepa no hay ninguna manera genérica. Los complementos xlam suelen estar protegidos con contraseña, pero dentro tienen funciones programadas, y cada una puede ser de cualquier forma, por lo que es imposible adivinar cómo va a ser tu complemento que, además, no nos has dicho cuál es.
No obstante, te recomiendo que googlees el nombre para encontrar la documentación sobre el complemento y poder así utilizarlo correctamente.
Un saludo
Como dice Cron, salvo que consultes la documentación, no vas a poder adivinar el contenido del complemento, pero si es sólo una macro sin argumentos, y si se trata sólo de ejecutarla (y el complemento está cargado, es decir, está ya abierto), entonces es justamente lo que tú dices, Application.Run, por ejemplo para ejecutar una macro contenida en el libro de macros personal desde otro libro lo llamaría así
Application.Run "personal.xlsb!nombredetumacro"
Se parece a las referencias de las fórmulas a una celda en otro libro: el nombre del libro seguido de una exclamación y luego el nombre de la macro
Si el nombre del libro contiene espacios, entonces hay que envolver el nombre entre comillas simples (igual que con las fórmulas)
Application.Run "'nombre de tu complemento con espacios.xlam'!nombredetumacro"
------
Ya sé Excel, pero necesito más.
Gracias a los dos. Intentaré armar la instrucción con la guia que han dejado.