Cómo hacer tu propio navegador de Internet básico usando VBA

Cómo hacer tu propio navegador de Internet básico usando VBA / Internet

Cuando realmente te paras a pensar en ello, un navegador de Internet en su forma más simple no es realmente una aplicación tan impresionante. Quiero decir, sí, Internet es increíble para todos los estándares. El concepto de vincular tantas computadoras y dispositivos móviles del mundo dentro de esta red masiva, eso es épico. Pero el concepto de transferir un archivo de texto con un código especial y mostrar el texto transferido a la pantalla de la computadora no es realmente un gran problema..

De hecho, gracias a las referencias integradas en aplicaciones que utilizan VBA, puede ingresar y generar páginas web a través de sus propias aplicaciones. Si ha seguido nuestros artículos de scripts anteriores, sabrá que nos encantan los scripts de VB y VBA, como mi artículo sobre cómo maximizar Windows 3 maneras de abrir aplicaciones y Windows maximizado con VB Script [Windows] 3 maneras de abrir aplicaciones y Windows maximizado con VB Script [Windows] Si hay una cosa que me encanta hacer, es escribir scripts VB. Ya sea que se trate de un archivo de Windows Script o VBA dentro de una aplicación, los scripts brindan la capacidad de agregar funcionalidad a las aplicaciones ... Lea más, Paul está en las tablas de actualización automática Cómo crear tablas de Excel de actualización automática en tres sencillos pasos Cómo crear una cuenta propia Actualización de gráficos de Excel en tres sencillos pasos Le mostraremos cómo hacer que sus gráficos de Excel se actualicen automáticamente. Solo agregue nuevos datos y observe cómo aparecen automáticamente en su gráfico. Es rápido y fácil. Más información, y Saikat sobre el envío de correos electrónicos masivos Cómo enviar correos electrónicos masivos personalizados en Outlook con combinación de correo Cómo enviar correos electrónicos masivos personalizados en Outlook con combinación de correo Leer más .

Usando el enfoque a continuación, puede usar Word, Access o Excel para leer documentos HTML en la web, alterar esos documentos y luego generar lo que quiera en una nueva ventana del navegador.

Puede sonar como algo que solo un programador de VBA experimentado puede hacer, pero en este artículo voy a mostrarle cómo puede hacerlo usted mismo, comenzando con un procedimiento básico para enviar datos desde su propia aplicación a una página web..

Habilitando los controles de Internet de Microsoft

El primer paso, sin importar cómo desee utilizar la capacidad de ingresar / generar su propio HTML a través de VBA, es habilitar la referencia de Microsoft Internet Controls.

En Excel, haga esto haciendo clic en el “Desarrollador” elemento del menú, haciendo clic Modo de diseño, y luego haciendo clic en el “Ver código” botón. Esto puede parecer diferente en versiones anteriores de Excel, pero básicamente necesita encontrar dónde puede iniciar el editor de código VBA.

En el editor de VBA, haga clic en Herramientas, y entonces Referencias.

En la ventana Referencias, desplácese hacia abajo hasta que vea “Controles de Internet de Microsoft“. Marque la casilla y luego haga clic “DE ACUERDO“.

Ahora, dentro de su código VBA, podrá crear objetos que pueden obtener información de Internet y puede generar sus propios documentos HTML que el usuario puede ver en su propio navegador..

Introducción y salida de HTML

Lo primero que querrá lograr aquí es enviar información a HTML. Piense en cuánto puede hacer una vez que pueda enviar información a una página web HTML perfectamente formateada. Puede extraer datos de sus hojas de cálculo de Excel y mostrarlos en un informe bien formateado.

Para crear esta función, deberá insertar un botón de comando en su hoja. Bajo la Desarrollador menú, haga clic en Modo de diseño, y luego haga clic en el “Insertar” botón. Verás un menú desplegable de controles que puedes agregar a tu hoja..

En este caso, haga clic en el botón de control y colóquelo en su hoja. Asegúrese de que haya algunos datos en la hoja (o en cualquier hoja) que desee enviar a un informe cuando se haga clic en el botón. Haga clic izquierdo en el botón para seleccionarlo y haga clic en “Ver código“.

Ingrese el siguiente código:

Sub Button1_Click ()
 Objeto oscuro como objeto
 HTML débil como cadena
 '---------- El CÓDIGO HTML VA DE AQUÍ Y ABAJO----------
 HTML = "Página de informe HTML"& _
 ""& _
 "Los siguientes son resultados de su cálculo diario"& _
 "

"& _

 "Producción diaria:" & Sheet1.Cells (1, 1) & "

"& _

 "Daily Scrap:" & Sheet1.Cells (1, 2) & "

"

 '---------- EL CÓDIGO HTML VA AQUÍ Y ARRIBA---------
 On Error GoTo error_handler
 Set objIE = CreateObject ("InternetExplorer.Application")
 Con objIE
 .Navegue "sobre: ​​en blanco"
 Do While .Busy: DoEvents: Loop
 Do While .ReadyState <> 4: DoEvents: Loop
 .Visible = Verdadero
 .Document.Write HTML
 Terminar con
 Set objIE = Nada
 Subir de salida
error_handler:
 MsgBox ("Error inesperado, estoy saliendo")
 objIE.Quit
 Set objIE = Nada
End Sub

Este código genera el HTML que ha definido en esa cadena de salida. Como puede ver en mi ejemplo anterior, puede incrustar datos de cualquier hoja en Excel en su cadena HTML. Aquí está el informe de la página web resultante:

Ahora que tiene la salida HTML en funcionamiento, el siguiente paso para hacer que su script VBA funcione prácticamente como un navegador web es leer en HTML desde algún sitio web, manipular los datos y luego enviarlos a una página de salida HTML..

Sub Button1_Click ()
 Objeto oscuro como objeto
 HTML débil como cadena
 On Error GoTo error_handler
 Set objIE = CreateObject ("InternetExplorer.Application")
 Con objIE
 .Navegue en "http://www.google.com"
 Do While .Busy: DoEvents: Loop
 Do While .ReadyState <> 4: DoEvents: Loop
 .Visible = Verdadero
 HTML = objIE.Document.Body.innerHTML
 .Document.Write "Mis propios resultados de Google!

Esta es una versión editada de la página de Google!

"& HTML &""
 Terminar con
 Set objIE = Nada
Subir de salida
error_handler:
 MsgBox ("Error inesperado, estoy saliendo")
 objIE.Quit
 Set objIE = Nada
End Sub

Lo que he hecho aquí es usar el objeto IE para leer HTML de Google en una variable de texto en VBA llamada HTML. Luego coloqué mi propio texto de salida HTML en la parte superior de la página y luego imprimí el mismo HTML en la salida HTML de VBA. Esto es lo que parece:

Este es un ejemplo muy básico de lo que es capaz de hacer. Pero si lo piensa bien, una vez que haya cargado el HTML de una página web en su variable de cadena VBA, puede buscar líneas específicas en la página, buscar imágenes, buscar direcciones de correo electrónico de números de teléfono o puede volver a escribir el texto completo. ingrese la página en una nueva versión editada de la misma página en el formato que desee y con las modificaciones que desee.

Hacer esto requeriría un poco de destreza en la manipulación de cadenas, pero nada es imposible una vez que has leído el código HTML de la web..

¿Ve algún potencial para usar la entrada o salida HTML en sus propias aplicaciones? ¿Se te ocurren algunos usos interesantes para este script? Comparte tus pensamientos en la sección de comentarios a continuación.

Crédito de la imagen: Shutterstock

Explorar más sobre: ​​Programación, Programación Visual Basic.