문제

Excel 2007의 VBA 모듈에서 웹 서비스를 호출 할 수 있습니까? 그렇다면 코드 스 니펫이 있습니까? 웹 참조를 어떻게 추가합니까?

도움이 되었습니까?

해결책

그래 넌 할수있어!

나는 그렇게 한 프로젝트를 수행했습니다 (의견 참조). 불행히도 그 중 하나의 코드 샘플은 없지만 인터넷 검색은 다음을 공개했습니다.

Excel 및 VBA를 사용하여 여러 웹 서비스의 데이터를 통합하는 방법

단계별 : VBA를 통한 웹 서비스 소비 (Excel 또는 Word)

VBA : 비누 웹 서비스를 소비하십시오

다른 팁

다음은 MS의 개요입니다.

Excel 2007에서 웹 서비스 소비

업데이트 된 답변은 이것을 참조하십시오.

Excel 2010에서 VBA 코드를 사용하여 웹 서비스 호출

그래도 두 스레드 모두 병합되어야합니다.

Microsoft Excel Office 2007에서 "웹 서비스 참조 도구"플러그인을 설치하십시오. WSDL을 사용하고 웹 서비스를 추가하십시오. 모듈의 다음 코드를 사용하여 웹 서비스에서 필요한 데이터를 가져 오십시오.

Sub Demo()
    Dim XDoc As MSXML2.DOMDocument
    Dim xEmpDetails As MSXML2.IXMLDOMNode
    Dim xParent As MSXML2.IXMLDOMNode
    Dim xChild As MSXML2.IXMLDOMNode
    Dim query As String
    Dim Col, Row As Integer
    Dim objWS As New clsws_GlobalWeather

    Set XDoc = New MSXML2.DOMDocument
    XDoc.async = False
    XDoc.validateOnParse = False
    query = objWS.wsm_GetCitiesByCountry("india")

    If Not XDoc.LoadXML(query) Then  'strXML is the string with XML'
        Err.Raise XDoc.parseError.ErrorCode, , XDoc.parseError.reason
    End If
    XDoc.LoadXML (query)

    Set xEmpDetails = XDoc.DocumentElement
    Set xParent = xEmpDetails.FirstChild
    Worksheets("Sheet3").Cells(1, 1).Value = "Country"
    Worksheets("Sheet3").Cells(1, 1).Interior.Color = RGB(65, 105, 225)
    Worksheets("Sheet3").Cells(1, 2).Value = "City"
    Worksheets("Sheet3").Cells(1, 2).Interior.Color = RGB(65, 105, 225)
    Row = 2
    Col = 1
    For Each xParent In xEmpDetails.ChildNodes
        For Each xChild In xParent.ChildNodes
            Worksheets("Sheet3").Cells(Row, Col).Value = xChild.Text
            Col = Col + 1
        Next xChild
        Row = Row + 1
        Col = 1
    Next xParent
End Sub
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top