Я отправляю запрос POST, и я подтвердил, что ожидаемые данные есть.
При попытке проанализировать таблицу из этого текста ответа (HTML) VBA не может найти ни одной таблицы.
Option Explicit
Sub GetExchangeRates()
Dim XMLPage As New MSXML2.XMLHTTP60
Dim htmlDoc As New MSHTML.HTMLDocument
Dim URL As String
URL = "http://www.medmouic.org/Advanced/TrouverAdv"
XMLPage.Open "POST", URL, False
XMLPage.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
XMLPage.setRequestHeader "Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3"
XMLPage.send "imonumber=&val=0&Name=&selectFlag=333&selectType=&grossfrom=&grossTo=&yearFrom=&yearTo=&selectClass=&Countries=Selects+items&InspectResult=All&TypesDeficiencies=0&SortBy=Imo&fro=01.08.2019&to=31.08.2019"
SaveHTMFile XMLPage.responseText
htmlDoc.body.innerHTML = XMLPage.responseText
ProcessHTMLPage htmlDoc
End Sub
Sub ProcessHTMLPage(HTMLPage As MSHTML.HTMLDocument)
Dim HTMLTable As MSHTML.IHTMLElement
Dim HTMLTables As MSHTML.IHTMLElementCollection
Dim HTMLRow As MSHTML.IHTMLElement
Dim HTMLCell As MSHTML.IHTMLElement
Dim RowNum As Long, ColNum As Integer
Set HTMLTables = HTMLPage.getElementsByTagName("table")
For Each HTMLTable In HTMLTables
Debug.Print HTMLTable.className
Next HTMLTable
End Sub
«SaveHTMFile XMLPage.responseText» создает TXT-файл, в котором я нахожу таблицу. Я ожидал, что «Debug.Print HTMLTable.className» покажет «таблицу данных», которая является классом таблицы, но вместо этого у меня ничего нет.
<form method="post" action="/Advanced/TrouverAdv" id='myform'>
<table class="data-table" id="anyTable" >
<!--- Sortby IMONUMBER---->
<thead>
<tr bgcolor="#428bca">
<th>IMO Number</th>
<th>Ship Name</th>
<th>Flag state</th>
<th>Date of inspection</th>
<th>Place of inspection</th>
</tr>
</thead>
<tbody>
<tr>
<td>
9301433
</td>