VBA es el lenguaje de programación que usan las aplicaciones de Microsoft Office que permite programar acciones para estas aplicaciones que por sí solas no pueden realizar.
Cuando construimos una macro (por ejemplo), la aplicación Office correspondiente escribe el código equivalente en VBA, que realiza las operaciones que hemos indicado en esa macro.
En este post quiero comentar cómo abrir una URL desde VBA. Este es un problema al que me enfrenté recientemente y encontré múltiples soluciones de entre las que elegí la que aporto a continuación.
Esta simple operación nos permitiría realizar en la web cosas que le indiquemos desde la aplicación office deseada. Bastará con programar en la web una página con todo lo que deseemos realizar. Estas operaciones podrían ir desde guardar datos en bases de datos que esten en la web, a realizar envíos masivos de emails o simplemente visualizar alguna página que nos interese.
En el ejemplo que voy a mostrar se va a hacer una llamada silenciosa, de modo que el usuario de la aplicación ni se va a enterar.
En otros casos puede que nos interese visualizar una página o ver algún resultado. Como digo en este ejemplo simplemente se va a realizar la llamada a la URL sin necesidad de ver nada mas.
Const READYSTATE As Integer = 4
Dim objIE As Object Set objIE = CreateObject(«InternetExplorer.Application»)
With objIE
.Visible = False
.Silent = True
.Navigate «http://midominio.com/envioadjunto.php?nombre=pepe»
Do Until .READYSTATE = READYSTATE
DoEvents
Loop
End With
objIE.Quit
Set objIE = Nothing
El código anterior como digo lo que hará será enviar un mensaje con un contenido concreto a un usuario llamado pepe. El fichero envioadjunto.php será el que previamente habremos programado para tal fin.
Al poner visible a false no se mostrará nada y todo será transparente para el usuario.