Я использую код другого пользователя, потому что это старый файл, который используют другие люди, я хочу его обновить, чтобы сделать его более эффективным, но мне нужна небольшая помощь. Ниже приведена операция vba. Мне нужно только получить информацию, но удалить все, кроме определенного слова, которое изменяется при каждом запуске операции. Я мог бы использовать regex и objRE.Pattern = "|" но слово изменяется в зависимости от статуса.
HTML:
<span onmouseover="ShowText('Message','blahblah'); return true;"
onmouseout="HideText('Message'); return true;"
href="javascript:ShowText('Message')">---(PSA)---</span>
</font><a href='?srn=numbers12131131'target='_self'><font color='#6666FF'
size='3'>numbers123232343</font></a><font size='3'>----Installed----MUM
Indication:In Scope-<font color='#00CC00'>PASS WITH WARNING</font>--- (20181018)
</td><tr></table> </b><br>
<table class="OrderForm" width="1000"> '
Мне просто нужен статус Installed в моем листе excel.
Код VBA, который нуждается в работе:
Sub GetComment()
Dim book As Workbook
Dim sheet As Worksheet
Dim row As Integer
Dim SRN As String
Dim whttp As Object
Set book = ThisWorkbook
Set sheet = book.Worksheets("CMT Data")
Set whttp = CreateObject("WinHTTP.WinHTTPrequest.5.1")
row = 2
SRN = sheet.Cells(row, 1)
Do While SRN <> ""
Debug.Print SRN
whttp.Open "GET", "www.websitedatgoeshere.com" & SRN, False
whttp.SetRequestHeader "Cookie", "mycookiefromwebsite;"
whttp.send
Debug.Print whttp.responseText
sheet.Cells(row, 2) = whttp.responseText
row = row + 1
SRN = sheet.Cells(row, 1)
Loop
Set whttp = Nothing
End Sub
Это основано на том, если и только если слово всегда находится между "----" и "----" и что это первое вхождение в ответ. Если вы не первый, вы можете отрегулировать индекс 1 по мере необходимости.
Debug.Print Split(Split(whttp.responseText, "----")(1), "----")(0)
sheet.Cells(row, 2) = Split(Split(whttp.responseText, "----")(1), "----")(0)
websitedatgoeshere.com" & SRN
что, как @QHarr спросил, выглядят ли эти значения. Если они просто ID, они не будут работать, так как у вас будет.com1234
а не что-то вроде.com/?id=1234