Visual Basic for Applications:
Analizando HTML

Cómo hacerlo:

En VBA, puedes parsear HTML usando la Biblioteca de Objetos HTML de Microsoft. Agrega una referencia a esta biblioteca en tu editor de VBA yendo a Herramientas > Referencias y marcando Biblioteca de Objetos HTML de Microsoft. Esto te da acceso a clases para navegar y manipular documentos HTML.

Aquí tienes un ejemplo simple que muestra cómo cargar un documento HTML desde un archivo y extraer todos los enlaces (etiquetas de anclaje):

Sub ParseHTML()
    Dim htmlDoc As MSHTML.HTMLDocument
    Dim htmlElement As MSHTML.IHTMLElement
    Dim htmlElements As MSHTML.IHTMLElementCollection
    Dim htmlFile As String
    Dim fileContent As String
    
    ' Cargar el contenido HTML desde un archivo
    htmlFile = "C:\ruta\al\archivo.html"
    Open htmlFile For Input As #1
    fileContent = Input$(LOF(1), 1)
    Close #1
    
    ' Inicializar el Documento HTML
    Set htmlDoc = New MSHTML.HTMLDocument
    htmlDoc.body.innerHTML = fileContent
    
    ' Obtener todas las etiquetas de anclaje
    Set htmlElements = htmlDoc.getElementsByTagName("a")

    ' Recorrer todos los elementos de anclaje e imprimir el atributo href
    For Each htmlElement In htmlElements
        Debug.Print htmlElement.getAttribute("href")
    Next htmlElement
End Sub

Este script lee el contenido de un archivo HTML, lo carga en un objeto HTMLDocument, recupera todos los elementos de anclaje (<a> tags), y luego itera sobre ellos, imprimiendo el atributo href de cada uno en la Ventana Inmediata.

Profundización:

Históricamente, parsear HTML en VBA ha sido un poco engorroso debido a la falta de soporte directo para tecnologías modernas de raspado web y manejo de documentos. La Biblioteca de Objetos HTML de Microsoft, a pesar de ser poderosa, está algo desactualizada y puede que no maneje los estándares web modernos tan fluidamente como las tecnologías más recientes.

Para tareas complejas de parseo de HTML y raspado web, se suelen recomendar herramientas y lenguajes alternativos como Python con bibliotecas como Beautiful Soup o Scrapy. Estas herramientas modernas ofrecen más flexibilidad, mejor rendimiento y están más en sintonía con los estándares web actuales. Sin embargo, cuando se trabaja dentro del ecosistema de Microsoft Office, usar VBA con la Biblioteca de Objetos HTML de Microsoft sigue siendo una habilidad valiosa. Desbloquea la manipulación directa del contenido HTML de una manera que se integra a la perfección con aplicaciones como Excel y Access, proporcionando un método sencillo para realizar tareas que involucran el manejo básico de documentos HTML sin necesidad de salir del familiar entorno de VBA.