【发布时间】:2017-04-17 22:23:36
【问题描述】:
我正在开发一个宏来从 Internet Explorer 表中获取数据并加载到 Excel 中的工作表中。
使用此代码,我可以获取表格的标题,但无法获取内容
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
这是页面 HTML 代码的一部分
<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>
我知道 NG 标签是表格的内容,但我不知道如何获取它,用于我的电子表格..
感谢您的帮助
【问题讨论】: