Мне нужно найти строку на прилагаемом рисунке с помощью vba в excel. У меня есть код ниже, но он не находит дату, которую я ищу. для цикла, чтобы найти это на последней «Для каждого элемента в Elements2»найти строку в DOM-проводнике с помощью VBA
Dim Doc As HTMLDocument
Dim Elements As IHTMLElementCollection
Dim elements1 As IHTMLElementCollection
Dim Elements2 As IHTMLElementCollection
Dim iCnt As Integer
Dim Element As IHTMLElement
Dim appIE As InternetExplorerMedium
Sheets(1).Cells(1, 1).Value = ""
complete = 0
Set appIE = New InternetExplorerMedium
sURL = "https://example.com"
With appIE
.Navigate sURL
.Visible = True
Do While appIE.Busy Or appIE.ReadyState <> 4
DoEvents
Loop
Do While complete <> 1
Set Doc = appIE.Document
Set Elements = Doc.GetElementsByTagName("input")
Set elements1 = Doc.GetElementsByTagName("strong")
Set Elements2 = Doc.GetElementsByTagName("td")
For Each Element In Elements
If Element.ID = "form-id" Then
requestnumber = Element.GetAttribute("Value")
End If
If Element.ID = "remedy-case-info" Then
CaseInfo = Element.GetAttribute("Value")
End If
Next Element
For Each Element In elements1
If InStr(1, Element.InnerHtml, "EM") Then
For iCnt = 1 To Len(Element.InnerText)
If IsNumeric(Left(Element.InnerText, 2)) Then
NumericOnly (Element.InnerText)
End If
Next iCnt
End If
Next Element
AClientCount = tempcount
For Each Element In Elements2
' If InStr(1, Element.InnerHtml, "td") Then
If InStr(1, Element.InnerHtml, "value-field align-top") Then
Requestdate = Element.GetAttribute("Value")
End If
' End If
Next Element
Set Elements = Nothing
If requestnumber <> "" Then
Sheets(1).Cells(1, 1).Value = requestnumber & " - " & CaseInfo & " - " & tempcount & " - " & Requestdate
complete = 1
End If
Loop
.Quit
End With
Если вы делаете 'Debug.Print Element.InnerHtml' ли дата отображаться в ближайшем окне, как часть всей InnerHtml? Если это так, используйте 'Mid \ Left \ Right и т. Д .' для анализа даты из строки. –
К сожалению, он не подбирает эту фразу вообще. Я могу видеть другие фразы, которые выпадают с тегом td, но не это. – user3323922
возможно, debug.pring на все 'element2.innerhtml' покажет правильный, и вы сможете создать способ его разбить. Иногда это единственный способ, который я нашел в отладке веб-сайта. –