Excel 2010 Скачать CSV с динамическим именем с безопасного веб-сайта

Я хочу войти на сайт, перейти на страницу, затем загрузить .CSV файл, который всегда будет заканчиваться динамической строкой, потому что это ‘custom’.

Я пытался получить доступ к сайту, записав макрос. Однако, поскольку данные отсутствуют в таблице, средство записи макросов не может определить фактический адрес файла .csv.

Текст на дисплее всегда:

Results [link]Click to Download[/link]

Значения html всегда:

<td class="smallText"><b>Results</b> <a href="vendor_report.php?report=custom [insert extremely long string here] ><u>Click to Download</u></a></td>

Без использования таблицы, есть ли способ добраться до этого .csv & сохранить это на моем ПК?
Я знаю, что использование <td> обозначает, что это часть таблицы, но она определенно не поднимается, я просмотрел сайт с помощью макро-рекордера, а он не собирает внутреннее содержимое со страницы.
HTTPS: // [домен] .php = vieworders В.Ф.

Я также подумал перейти на страницу сайта, выделить текст, скопировать & вставить на запасной лист в моей книге, а затем использовать некоторый код L42 ранее писал Вот (ниже), однако я не могу даже получить копию & Вставьте, чтобы работать правильно.

For Each hlink In ThisWorkbook.Sheets("NameOfYourSheet").Hyperlinks
Set wb = Workbooks.Open(hlink.Address)
wb.SaveAs saveloc & hlink.Range.Offset(0,1).Value & ".xlsx"wb.Close True
Set wb = Nothing
Next

Пожалуйста, порекомендуйте. Заранее спасибо.

ОБНОВИТЬ
Я нашел, в каком столе это скрывается, Table 2, Это, однако, посреди многих других текстов.
Когда я скопировал & вставил содержимое таблицы на свой лист, у меня проблемы с отображением ссылки в виде значения HTML, поэтому я могу использовать ее со вторым вариантом (открыть ссылки из электронной таблицы).
Это может быть проблемой с оригиналом Get Data код, который я использую.

Вот как это выглядит. Ячейки по обеим сторонам заполнены, а также этот огромный кусок (заштрихованного) текста в B20

Может ли Regex быть здесь полезным?

короткие данные из веб-таблицы

0

Решение

Вы можете попробовать использовать объект XMLHTTP с потоком:

Sub SO()

Dim objStream As Object, strURL As String

Set objStream = CreateObject("ADODB.Stream")
strURL = "vendor_report.php?report=custom [insert extremely long string here]"
With CreateObject("Microsoft.XMLHTTP")
.Open "GET", strURL, False
.Send
If .Status = 200 Then
objStream.Open
objStream.Type = 1
objStream.Write .ResponseBody
objStream.SaveToFile "C:\users\bloggsj\output.csv", 2
objStream.Close
End If
End With

Set objStream = Nothing

End Sub

Измените путь сохранения по мере необходимости.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]