Мне нужно определить мои последние iRow
внутри таблицы, как показано на рисунке. Таблица генерируется из фильтра, поэтому число строк меняется каждый раз.
Я использую код для загрузки и сохранения каждого элемента в этой таблице, но иногда он работает отлично, а иногда застревает, потому что в нем меньше 20 элементов, поэтому мне нужно определить последний.
Сначала я пытался избежать отладки с операторами on error goto
или on error resume next
, но каким-то образом они терпели неудачу. В настоящее время я установил последний iRow to 20
, но я хочу изменить его, чтобы он был менее глючным.
Вот мой полный код для этой части, но интересна только первая часть:
Dim TableName As String
Dim myURL As String
'Dim element As Object
For iRow = 0 To 20 --> I need to define my last iRow
TableName = "docTypeForm:documentTbl:" & iRow & ":j_idt250"
'Set element = obJIE.document.getelementbyid("docTypeForm:documentTbl:tb")
'MsgBox element.count
On Error GoTo LastFile
myURL = obJIE.document.getelementbyid(TableName).getelementsbytagname("a")
' MsgBox myURL.count
On Error GoTo LastFile
TitleJob = obJIE.document.getelementbyid(TableName).innerText
Dim WinHttpReq As Object
Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
WinHttpReq.Open "GET", myURL, False
WinHttpReq.Send
myURL = WinHttpReq.ResponseBody
If WinHttpReq.Status = 200 Then
Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.Type = 1
oStream.Write WinHttpReq.ResponseBody
oStream.SaveToFile (MAIN_FOLDER & "\files\" & TitleJob & ".xml")
oStream.Close
End If
next
LastFile:
"tbl: 0,1,2" - строки