Extract data from Internet Explorer to Excel

0

Good day. I'm programming a macro that will extract information from a Table in Internet Explorer and upload it to an Excel sheet.

So far I have only managed to extract the headers from the table but I have not managed to get the content.

    Sub extraerDatos()

    Dim URL As String
    Dim IE As InternetExplorer
    Dim HTMLdoc As HTMLDocument
    Dim TDelements As IHTMLElementCollection
    Dim TDelement As HTMLTableCell
    Dim oElement As Object
    Dim r As Long


    URL = "URL"

    Set IE = New InternetExplorer

    With IE
        .Navigate URL
        .Visible = True

        'Cargar pagina
        While .Busy Or .readyState <> READYSTATE_COMPLETE: DoEvents: Wend

        Set HTMLdoc = .Document
    End With
  Application.Wait (Now + TimeValue("0:00:10"))

Set dados = HTMLdoc.getElementsByClassName("tableContainer")
 (0).getElementsByTagName("span")
    I = 0
 For Each oElement In dados
    Sheets("Hoja1").Range("A" & I + 1) = dados(I).innerText
    I = I + 1
 Next oElement
End Sub

This is the HTML code from where I want to get the data.

<div class="tableContainer"  >
        <div class="tlnTable tlnw12" id="tlnAngTableTransfers" style="display:none" >
            <span style="margin:0; padding-bottom: 10px;" class="field-validation-error ng-binding" ng-show="model.bTransferRequired">Select at least one transfer</span>
            <div class="tlnHeader tlnw12"> <!-- HEADER -->
                <div class="tlnw3">
                    <div class="tlnw1 tlntd">
                        <input type="checkbox" ng-model="model.grid.selected" ng-change="model.grid.selectAll()"/> 
                    </div>
                    <div class="tlnw6 tlntd">
                        <a href="#" class="tlnSortLink tlnw12" ng-click="model.grid.sortableColumns.columns.transferId.changeSort()">
                            <span class="tlnw10">Transfer ID / PO-SO Number </span>
                            <span class="tlnSortIco tlnw2" ng-show="model.grid.sortableColumns.lastSortedColumn.id === model.grid.sortableColumns.columns.transferId.id" >
                                <span class="tlnSortAsc tlnw12 " ng-class="{act: model.grid.sortableColumns.lastSortedColumn.modifier==='asc', inact: model.grid.sortableColumns.lastSortedColumn.modifier==='desc'}" ></span>
                                <span class="tlnSortDesc inact tlnw12" ng-class="{act: model.grid.sortableColumns.lastSortedColumn.modifier==='desc', inact: model.grid.sortableColumns.lastSortedColumn.modifier==='asc'}"></span>
                            </span>
                        </a>
                    </div>

I would understand that the key is in the part of NG but I do not know how to obtain this data. I hope you can help me. Thanks

    
asked by hdan7 12.04.2017 в 16:55
source

0 answers