2013-11-28 4 views
-2

Я пытаюсь извлечь некоторую информацию с сайта с помощью VBA. У меня есть список URL-адресов, и для каждого из них я хотел бы получить исходный код страницы, чтобы я мог извлечь соответствующую информацию в Excel. Как мне это сделать?Исходный код веб-сайта VBA

Использование записи макросов, я получаю следующее VBA:

With ActiveSheet.QueryTables.Add(Connection:= _ 
    "URL;http://www.cmegroup.com/trading/metals/precious/silver_contract_specifications.html" _ 
    , Destination:=Range("$B$2")) 

Однако, как мне сделать URL переменной?

+0

Вы пробовали создать веб-запрос? Например, см. [Эту ссылку] (http://office.microsoft.com/en-ca/excel-help/get-external-data-from-a-web-page-HA010218472.aspx). – Michael

+0

Мне нужно прокрутить несколько URL-адресов, и я могу только посмотреть, как использовать WebQuery по одному за раз? – dojogeorge

+0

Если вы включите макрокоманд при запуске веб-запроса, в коде появится URL-адрес. Замените этот URL на переменную. Затем создайте цикл, который проходит через ваш диапазон URL-адресов и сохраняет URL-адрес в этой переменной, а затем запускает веб-запрос. – Michael

ответ

2

Чтобы заменить URL в коде, сделайте следующее:

Dim sURL as String 
sURL = "http://www.cmegroup.com/trading/metals/precious/silver_contract_specifications.html" 

With ActiveSheet.QueryTables.Add(Connection:= _ 
    "URL;" & sURL _ 
    , Destination:=Range("$B$2")) 

    'rest of your code 

Теперь вы можете создать цикл, который проходит через ваш список адресов и сохраняет их в переменнойSurl.

Смежные вопросы