Я хотел бы использовать макрос VBA для копирования веб-страницы (https://weather.gc.ca/warnings/index_e.html) в электронную таблицу Excel - все, что я хочу скопировать, - это раздел, в котором есть таблица, начинающаяся с Location, Warning, Watch, Statement
Каждый раз, когда я пишу что-то, оно копируется поверх
Первые несколько строк дают мне это:
Первая проблема - когда появляется предупреждение 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