По факту мне нужны только подобные строки: <div class="d-flex registry-entry__header-mid align-items-center"> <div class="registry-entry__header-mid__number"> <a target="_blank" href="https://zakupki.gov.ru/223/purchase/public/purchase/info/common-info.html?regNumber=32009694550"> № 32009694550 т.е. номер контракта и ссылка на него. Вроде бы никаких проблем даже не намечалось, но в полученном файле никакой подобной ссылки нет и в помине.
Вот такой код: Private Sub CommandButton1_Click() Cells.Clear
On Error Resume Next Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP") sURL = TextBox1.Value With oXMLHTTP .Open "GET", sURL, False .send End With GetHTTPResponse = oXMLHTTP.responseText
HomeDir$ = ThisWorkbook.Path Open HomeDir$ + "\file2.csv" For Output As #1 Print #1, CStr(GetHTTPResponse) Close #1 Set oXMLHTTP = Nothing
Workbooks.OpenText Filename:=HomeDir$ + "\file2.csv" With ActiveWorkbook .ActiveSheet.UsedRange.Copy ThisWorkbook.Sheets(1).[a1].Cells .Close (True) End With
MsgBox ("Работа завершена") End Sub
Но вместо необходимой информации что-то совершенно постороннее.
Подскажите, пожалуйста, в чем может быть проблема? Я использую какой-то неподходящий способ? Или в коде есть ошибки?
По факту мне нужны только подобные строки: <div class="d-flex registry-entry__header-mid align-items-center"> <div class="registry-entry__header-mid__number"> <a target="_blank" href="https://zakupki.gov.ru/223/purchase/public/purchase/info/common-info.html?regNumber=32009694550"> № 32009694550 т.е. номер контракта и ссылка на него. Вроде бы никаких проблем даже не намечалось, но в полученном файле никакой подобной ссылки нет и в помине.
Вот такой код: Private Sub CommandButton1_Click() Cells.Clear
On Error Resume Next Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP") sURL = TextBox1.Value With oXMLHTTP .Open "GET", sURL, False .send End With GetHTTPResponse = oXMLHTTP.responseText
HomeDir$ = ThisWorkbook.Path Open HomeDir$ + "\file2.csv" For Output As #1 Print #1, CStr(GetHTTPResponse) Close #1 Set oXMLHTTP = Nothing
Workbooks.OpenText Filename:=HomeDir$ + "\file2.csv" With ActiveWorkbook .ActiveSheet.UsedRange.Copy ThisWorkbook.Sheets(1).[a1].Cells .Close (True) End With
MsgBox ("Работа завершена") End Sub
Но вместо необходимой информации что-то совершенно постороннее.
Подскажите, пожалуйста, в чем может быть проблема? Я использую какой-то неподходящий способ? Или в коде есть ошибки?Anper10
Здравствуйте. В коде ошибок нет, он работает исправно. В выгрузке, которую он делает по приложенной вами ссылке, находится 4 совпадения, которые Вас интересуют. Судя по тому html-коду, который загрузился в Лист1 приложенного вами файла, Вы обращаетесь не к той странице. Проверьте какую ссылку Вы скармливаете своему скрипту.
Здравствуйте. В коде ошибок нет, он работает исправно. В выгрузке, которую он делает по приложенной вами ссылке, находится 4 совпадения, которые Вас интересуют. Судя по тому html-коду, который загрузился в Лист1 приложенного вами файла, Вы обращаетесь не к той странице. Проверьте какую ссылку Вы скармливаете своему скрипту.CaramelManiac
Сообщение отредактировал CaramelManiac - Пятница, 27.11.2020, 18:53