我想使用VBA宏将网页(https://weather.gc.ca/warnings/index_e.html)复制到excel电子表格中-我要复制的是该部分中存在一个以“位置”,“警告”,“监视”,“语句”开头的表格
每次写东西都会将其复制到
前几行是给我的:
第一个问题是当它说WindWind警告时...我正在寻找它要复制它,因为它只是在网站上说“风”,“降雨”,“特殊天气”等……不是全部。
我正在使用的脚本如下:
Option Explicit
Sub Web_Table_Option_One()
Dim xml As Object
Dim html As Object
Dim objTable As Object
Dim result As String
Dim lRow As Long
Dim lngTable As Long
Dim lngRow As Long
Dim lngCol As Long
Dim ActRw As Long
Set xml = CreateObject("MSXML2.XMLHTTP.6.0")
ThisWorkbook.Sheets("Sheet2").Cells.ClearContents
With xml
.Open "GET", "https://weather.gc.ca/warnings/index_e.html", False
.send
End With
result = xml.responseText
Set html = CreateObject("htmlfile")
html.body.innerHTML = result
Set objTable = html.getElementsByTagName("Table")
For lngTable = 0 To objTable.Length - 1
For lngRow = 0 To objTable(lngTable).Rows.Length - 1
For lngCol = 0 To objTable(lngTable).Rows(lngRow).Cells.Length - 1
ThisWorkbook.Sheets("Sheet2").Cells(ActRw + lngRow + 1, lngCol + 1) = objTable(lngTable).Rows(lngRow).Cells(lngCol).innerText
Next lngCol
Next lngRow
ActRw = ActRw + objTable(lngTable).Rows.Length + 1
Next lngTable
End Sub
答案 0 :(得分:0)
这似乎对我有用,但是,如评论中所述,考虑使用API。
这种方法找到表格,将其复制到剪贴板,然后一次性粘贴整个表格。
git log master..newbranch