سؤال

في وحدة VBA في Excel 2007، هل من الممكن الاتصال بخدمة ويب؟إذا كان الأمر كذلك، أي مقتطفات من التعليمات البرمجية؟كيف يمكنني إضافة مرجع الويب؟

هل كانت مفيدة؟

نصائح أخرى

وفيما يلي لمحة عامة عن MS:

تستهلك خدمات ويب في Excel 2007

للحصول على إجابة محدثة، راجع سؤال SO هذا:

الاتصال بخدمة الويب باستخدام كود VBA في Excel 2010

بالرغم من ذلك يجب دمج كلا الموضوعين.

في مكتب مايكروسوفت اكسل 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