ENVIAR DATOS DESDE EXCEL A UNA PAGINA WEB (CLASSNAME, NAME)

Hola a todos! Qué tal estáis?, espero que muy bien.

Hace unos días un lector me hacía la siguiente consulta en relación a este post: ENVIAR DATOS DESDE EXCEL A UNA PAGINA WEB – FORMULARIO, necesitaba realizar el mismo ejercicio pero utilizando la propiedad “Name” en lugar del ID. (podéis visitar el post para ver el código de referencia).

Pues bien, en realidad los cambios que hay que hacer en la macro son pocos. En el ejercicio, mediante VBA enviamos al formulario de búsqueda de Excel Signum una palabra y desde el código ejecutamos la búsqueda y mostramos el resultado. Para hacerlo con la propiedad Name, debemos identificar los elementos a incluir en nuestra macro:

ENVIAR DATOS DESDE EXCEL A UNA PAGINA WEB (CLASSNAME, NAME)

Como estamos trabajando con Name, tendremos que detectar los elementos necesarios para nuestro código, en este caso: name=”s” para indicar el contenido en buscador y “submit” para hacer click o ejecutar la búsqueda.

Así quedaría el código:

Sub CARGAR_DATOS_WEB_ByName()
Dim IE As Object
Dim document 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 name que hace referencia al cuadro de búsqueda
Set document = IE.document
With document
.getElementsByName("s")(0).Value = "ACCESS"
End With
'también buscamos "name" correspondiente al botón para buscar el valor
With document
.getElementsByName("submit")(0).Click
End With
'hacemos visible la web.
IE.Visible = True
Set IE = Nothing
Application.ScreenUpdating = True
End Sub

Como podéis observar identificamos el name (s) para indicar que el valor de la búsqueda sea “ACCESS”

.getElementsByName("s")(0).Value = "ACCESS"

y ejecutamos la búsqueda haciendo referencia al botón “Buscar”

.getElementsByName("submit")(0).Click

Este es el resultado:

ENVIAR DATOS DESDE EXCEL A UNA PAGINA WEB (CLASSNAME, NAME)1

Efectivamente, desde Internet Explorer se mostrará el resultado de la búsqueda con la palabra “ACCESS” en Excel Signum.

Pero aprovechando que estamos tratando las propiedades ID y Name, podemos también realizar el mismo código con ClassName.

Sub CARGAR_DATOS_WEB_ByClassName()
Dim IE As Object
Dim document 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 ClassName que hace referencia al cuadro de búsqueda
Set document = IE.document
With document
.getElementsByClassName("field")(0).Value = "ACCESS"
End With
'también buscamos "ClassName" correspondiente al botón para buscar el valor
With document
.getElementsByClassName("submit")(0).Click
End With
'hacemos visible la web.
IE.Visible = True
Set IE = Nothing
Application.ScreenUpdating = True
End Sub

El resultado es exactamente el mismo que con el código anterior. Y de esta forma ya podéis realizar el mismo ejercicio con el ID, el Name y el ClassName.

Obviamente existen otras formas de realizar estas programación, y es utilizando otros objetos en lugar en I.E. no obstante, eso lo iremos viendo en próximas publicaciones.

Espero que os resulta de interés : )

¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.

Donate Button with Credit Cards

¡¡Muchas gracias!!

Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies

Anuncios

¿Te ha gustado?, Realiza 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 )

Google+ photo

Estás comentando usando tu cuenta de Google+. 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 )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.