Можно ли получить гиперссылку информации с веб-сайта напрямую, чтобы преуспеть? - PullRequest
2 голосов
/ 16 июня 2011

Иногда мне нужно получить базовые адреса электронной почты для нескольких (20-30) гиперссылок (на веб-сайте) и скопировать их в Excel. Можно ли сделать это непосредственно с веб-сайта, а не копировать информацию сначала в виде HTML в Excel, а затем запустить макрос, чтобы получить его оттуда. Вот что я сейчас использую:

Function emailAddress(cell)
    On Error Resume Next
    emailAddress = Replace(cell.Hyperlinks(1).Address, "mailto:", "")
    If emailAddress = 0 Then 
       emailAddress = ""
End Function

но мне интересно, есть ли способ обойти этот шаг

Ответы [ 2 ]

1 голос
/ 16 июня 2011

Есть несколько способов выполнить эту задачу.

Первое - это загрузить данные веб-сайта прямо в рабочую книгу:

 Workbooks.Open Filename:="http://yoururlhere.com/data.html"

Это самый простой способ, поскольку яЯ уверен, что вы можете указать, хотите ли вы, чтобы ваши данные отправлялись на конкретный лист.

Другой способ - подключить Internet Explorer с помощью Excel.См., Например, this .Это включает в себя знание о том, как получить доступ к различным элементам DOM на странице, чтобы получить необходимую информацию.

Возможно, вы также можете написать свой доступ к данным в C # или VB.NET и использовать их библиотеки Office Automation для управленияExcel, но это будет более запутанным.

0 голосов
/ 16 июня 2011

Вы можете использовать View - Source в своем веб-браузере и скопировать необработанный HTML-код в Excel.Затем используйте Text to Columns, чтобы разделить на ":" плюс некоторые другие вещи для очистки.Я не уверен, что это сильно тебя спасает.

...