2010-04-13 7 views
1

알려진 ulr에서 데이터를 가져올 수 있지만 Excel로 웹 사이트를 탐색 할 수는 있습니다.Excell Vba를 사용하여 웹 사이트 탐색

예를 들어 Google 검색을 수행하고 결과를 스프레드 시트에 저장할 수 있습니다. 또는 인 프레임 사이트를 탐색합니다.

이 코드는 웹 사이트에서 데이터를 가져옵니다.

+0

웹 쿼리를 수행하는 나를 추적하는 매크로를 작성해도이를 해킹하지 않습니다. – Ommit

+0

HTML 기반 웹 사이트를 탐색 할 때 고려해야 할 사항 : 적절한 데이터가 포함 된 요청을 보내고 반환 된 문서를 읽어야합니다. Excel은 적절한 라이브러리에 대한 참조와 함께 VBA – barrowc

+0

을 통해 이러한 모든 작업을 수행 할 수 있음을 알 수 있습니다. 당신은 좋은 소식이나 이것에 대한 예를 알고 있습니까? – Ommit

답변

4

안녕하세요.이 문제를 파악하고 비슷한 문제가있는 경우를 대비하여 게시 할 것이라고 생각했습니다. 당신은 "(당신은 소스 코드를 찾거나 불을 지르고처럼 당신을 도와주는 추가 기능을 설치하여이 작업을 수행 할 수 있습니다) 당신은 또한 .getElementsByID을 (사용할 수 있습니다 someIDhere을 요소 이름을 알아야합니다

Sub googlesearch() 
    Set objIE = CreateObject("InternetExplorer.Application") 
    WebSite = "www.google.com" 
    With objIE 
     .Visible = True 
     .navigate WebSite 
     Do While .Busy Or .readyState <> 4 
      DoEvents 
     Loop 

     Set Element = .document.getElementsByName("q") 
     Element.Item(0).Value = "Hello world" 
     .document.forms(0).submit 
     '.quit 
     End With 

End Sub 

그래서 성공적으로이 작업을 수행하는 ").

0

나는 조금 늦었다 고 알고있다. 그러나 여기에 해결책이있다. 당신은 수색 기간에서 통과하기 위하여 공용 영역을 할 필요가 있고, 필요한 경우에 유효하게하고십시오/암호로하십시오, 등등. 당신의 PC에 Internet Explorer를 요구한다. 원시 HTML을 제공 할 것이므로 필요에 따라 파싱해야합니다.

Function GoogleSearch(strSearchTerm As String) As String 
    Dim ie As Object 
    Dim sHTML As String 

    On Error GoTo ZERR 
    Set ie = CreateObject("InternetExplorer.Application") 

    With ie 
     .Visible = False 
     .navigate ("http://www.google.com/search?q=" & strSearchTerm) 
     Do Until .readystate = 4 
      DoEvents 
     Loop 
     sHTML = .document.Body.innerHTML 
    End With 
    Set ie = Nothing 
GoogleSearch = sHTML  
ZERR: 
    Set ie = Nothing 
End Function 
관련 문제