Excel 2007のVBAモジュールで、Webサービスを呼び出すことはできますか?もしそうなら、コードスニペットはありますか?Web参照を追加するにはどうすればよいですか?
121671 次
5 に答える
25
はい、できます!
私はそれを行うプロジェクトに取り組みました(コメントを参照)。残念ながら、そのコードサンプルはありませんが、グーグルで次のことが明らかになりました。
ExcelとVBAを使用して複数のWebサービスからのデータを統合する方法
于 2009-01-23T22:53:50.937 に答える
6
MS からの概要は次のとおりです。
于 2010-01-29T21:05:04.643 に答える
3
于 2012-06-25T09:39:24.973 に答える
1
Microsoft Excel Office 2007 で、「Web Service Reference Tool」プラグインをインストールしてみてください。そして、WSDL を使用して Web サービスを追加します。モジュールで次のコードを使用して、Web サービスから必要なデータを取得します。
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
于 2015-09-14T12:42:38.373 に答える