2017-01-31 10 views
-3

я пытался импортировать следующую таблицу в ExcelИмпорт таблицы в Excel, который был сгенерирован с помощью сценария с веб-страницы

www.bursamalaysia.com/market/securities/equities/indices/

Я пробовал PowerQuery, вкладку данных «Из Интернета» и т. Д. Из моих исследований я пришел к выводу, что причина, по которой Excel не может «видеть» данные, заключается в том, что она была динамически сгенерирована с помощью Javascript.

Я был бы признателен за любую помощь, пытающуюся получить таблицу в excel через PowerQuery или даже скрипт VBA.

Я увидел нечто подобное at this и изменил его следующим образом, но я получаю пустой стол.

Sub Bursa_Indices() 

Dim xmlHttp As Object 
Dim TR_col As Object, TR As Object 
Dim TD_col As Object, TD As Object 
Dim row As Long, col As Long 

Set xmlHttp = CreateObject("MSXML2.XMLHTTP.6.0") 
xmlHttp.Open "GET", "http://www.bursamalaysia.com/market/securities/equities/indices/", False 
xmlHttp.setRequestHeader "Content-Type", "text/xml" 
xmlHttp.send 

Dim html As Object 
Set html = CreateObject("htmlfile") 
html.body.innerHTML = xmlHttp.ResponseText 

Dim tbl As Object 
Set tbl = html.getElementById("bm_indices_prices_table") 

row = 1 
col = 1 

Set TR_col = html.getelementsbytagname("TR") 
For Each TR In TR_col 
    Set TD_col = TR.getelementsbytagname("TD") 
    For Each TD In TD_col 
     Cells(row, col) = TD.innerText 
     col = col + 1 
    Next 
    col = 1 
    row = row + 1 
Next 

End Sub

Спасибо заранее.

+0

Пожалуйста, разместите скрипт VBA, который вы используете, и ошибки, которые вы получаете. – thodic

+0

Ошибка в сценарии VBA: http://stackoverflow.com/questions/21039677/import-data-in-excel-from-a-table-created-by-a-script-in-a -webpage Я думаю, что я понял ошибку. URL-адрес изменился с http на https. Я пытаюсь изменить его на свой url, но просто получаю пробелы. – Jason

ответ

0

Это выглядит довольно просто, используя Power Query/Get & Преобразование. Я использовал New Query/From Web/вставить этот URL/выбрать таблицу с названием «RSS-каналы».

+0

Стол, который мне нужен, это таблица «Индексы». Так или иначе, я не могу попасть туда с помощью Power Query. Благодарю. – Jason

+0

Данные из этой таблицы - именно то, что я ищу в Power Query. –

+0

Я сейчас пытаюсь это сделать, и я могу видеть только «Документ». Вчера был рыночный праздник, и я смог увидеть как «Документ», так и «RSS-каналы». Тем не менее, я не могу получить таблицу «Индексы» вообще. Мне интересно, является ли время рендеринга таблицы фактором. Я использую: Microsoft Office 2013 с Power Query 2.39.4526.123 32-bit – Jason