2012-12-09 3 views
-1

this website에서 데이터를 추출하는 데 문제가 있습니다.VBA로 웹 테이블 값 가져 오기

Excel 웹 쿼리 (일반적으로 웹 사이트의 다른 페이지와 함께 작동하지만이 특정 웹 사이트의 데이터를 검색하지 못함)를 사용해 보았습니다.

웹 페이지의 "inspecting the elements"에서 responsetext를 사용하여 텍스트를 조작하지만이 경우에는 본문에 "텍스트 - 빈 텍스트 노드"가있어 텍스트로 작업 할 수 없습니다.

+1

입력하신 링크가 작동하지 않습니다. 어떤 종류의 데이터를 추출하려고합니까? –

+0

안녕하세요 @Ian O'Brien, 링크가 Google 크롬을 사용하여 작동하지 않지만 Internet Explorer에서 제대로 작동합니다. – user1889664

+0

@ IanO'Brien 저는이 포럼의 새로운 웹 사이트입니다. [bmreports] (http://www.bmreports.com/bsp/BMRSSystemData.php?pT=DDAD&zT=N&dT=NRT/) 내가 할 수 있는지 확실하지 않습니다. 이런 종류의 데이터를 위해 VBA에서 HTML을 사용하면 문제는 [bmrport.com]의 일부 페이지가 잘 포맷 된 것입니다 (http://www.bmreports.com/bsp/BMRSSystemData.php?pT=DDAD&zT=N&dT = NRT /)는 상당히 복잡합니다. HTML 코드의 샘플 아래의 난에서 정보를 좀하고 싶습니다 : DATE <클래스 = "헤더"일> <클래스 = "헤더"일> S는/P 감사를 – user1889664

답변

0

나는 그것을 좋아하지 않지만 내가 생각할 수있는 최선이다. Debug.Print 줄을 유용한 것으로 변경하십시오. Microsoft Internet Control 및 Microsoft HTML Object Library에 대한 참조를 설정해야합니다.

Public Sub GetReports() 

    Dim ie As InternetExplorer 
    Dim hDoc As MSHTML.HTMLDocument 
    Dim hTbl As MSHTML.HTMLTable 

    Set ie = New InternetExplorer 
    ie.Navigate2 "http://www.bmreports.com/bsp/BMRSSystemData.php?pT=DDAD&zT=N&dT=NRT" 

    Do 
     DoEvents 
    Loop Until ie.readyState = READYSTATE_COMPLETE 

    Set hDoc = ie.document 

    Set hTbl = hDoc.getElementsByClassName("tablesorter").Item(0) 

    Debug.Print hTbl.innerText 

    ie.Quit 

End Sub 
+0

그것은 완벽하지는 않지만 좋은 출발점입니다. CSV 하단을 누르고 CSV 파일을 저장하는 방법에 대한 아이디어가 있습니까? – user1889664

+0

재생 해 주셔서 감사합니다. – user1889664