ENVIAR DATOS DESDE EXCEL A UNA PAGINA WEB – FORMULARIO

Hola a todos:

Hace unos días me enviaban una consulta sobre cómo podían enviar a través de Excel datos para introducir valores en un formulario web. Aunque la respuesta ya la adelanté en esta web me ha parecido interesante publicarla en una entrada.

Para poder realizar el trabajo debemos usar VBA y para ello es necesario que tengamos en cuenta algunos aspectos de la página web en cuestión y los elementos que vamos a necesitar para poder realizar la consulta.

Como ejemplo voy a utilizar mi web, de manera que mediante  código sea capaz de ingresar en su cuadro de búsqueda un valor, por ejemplo: “API” y que realice la búsqueda. Es decir, que sea capaz de enviar datos a una web, la mía,  y a un cuadro de texto (parecido a un formulario) y generar la búsqueda.

Para ello, vamos a utilizar la siguiente macro:

Sub CARGAR_DATOS_WEB()
Dim IE As Object
Application.ScreenUpdating = False
'Creamos objeto internet explorer
Set IE = CreateObject("InternetExplorer.Application")
'abrimos web
IE.navigate "https://excelsignum.com/"
'esperamos a que se carguen todos los elementos
Do Until IE.ReadyState = 4
DoEvents
Loop
'si necesitamos más tiempo lo podemos configurar aquí
Application.Wait (Now + TimeValue("0:00:01"))
'localizamos el ID que hace referencia al cuadro de búsqueda
'esto lo hacemos buscando en el código HTML de la página web
'e igualamos el valor de la celda para realizar la búsqueda
IE.document.getElementById("s").Value = "API" '
'también buscamos ID correspondiente al botón para buscar el valor
IE.document.getElementById("searchsubmit").Click
'hacemos visible la web.
IE.Visible = True
Set IE = Nothing
Application.ScreenUpdating = True
End Sub

Como podéis observar, es de gran importancia que seamos capaces de identificar los ID´s de cada uno de los elementos, es decir, del buscador y del botón para realizar la búsqueda.

Esto lo podemos hacer de varias formas, o bien rastreamos el código HTML de toda la web o bien nos posicionamos encima del buscador y pulsamos botón derecho:

enviar-datos-desde-excel-a-una-pagina-web_formulario1

y se abrirá la ventana de inspección con el ID o Name que necesitamos:

enviar-datos-desde-excel-a-una-pagina-web_formulario

Como podéis ver Para el buscador el ID es “s” y para el botón de búsqueda el procedimiento será idéntico.

Una vez que tenemos los ID´s ya podemos introducirlos en la macro y ejecutarla, el resultado que esperamos es ver una búsqueda de la palabra “API” en Excel Signum, es decir, esto:

enviar-datos-desde-excel-a-una-pagina-web_formulario2

Obviamente si hablamos de un formulario web, tendremos que identificar el elemento adecuado, si se trata de un ID o un Nombre y realizar tantas referencias como sean necesarias.

Esta vez no pondré archivo de descarga, el motivo es que no es necesario, tan solo hay que copiar la macro en un módulo, adaptarla y ejecutarla.

Espero que os sea de utilidad 🙂

Anuncios

¿Te ha gustado?. Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s