25


10

Excel 2007のVBAモジュールで、Webサービスを呼び出すことは可能ですか? もしそうなら、任意のコードスニペット? Web参照を追加する方法

4 Answer


23


はい、できます!

私はそれをしたプロジェクトに取り組んだ(コメント参照)。 残念ながらそれからのコードサンプルはありませんが、googlingはこれらを明らかにしました:

http://msdn.microsoft.com/ja-jp/magazine/cc163837.aspx[ExcelとVBAを使用して複数のWebサービスのデータを統合する方法]
http://www.dotnetspider.com/resources/19-STEP-BY-STEP-Consuming-Web-Services-through-VBA-Excel-or-Word-Part-I.aspx[ステップバイステップ:Webサービスの消費VBA(エクセルまたはワード)]
http://www.automateexcel.com/2004/11/14/excel_vba_consume_web_services/[VBA:Soap Webサービスの利用]


6


これがMSからの概要です。

http://msdn.microsoft.com/ja-jp/library/dd819156.aspx[Excel 2007でWebサービスを使用する]


3


最新の回答については、次の質問を参照してください。

https://stackoverflow.com/questions/3521876/calling-web-service-using-vba-code-in-excel-2010[Excel 2010でVBAコードを使用してWebサービスを呼び出す]

両方のスレッドをマージする必要があります。


1


Microsoft Excel Office 2007では、「Webサービス参照ツール」プラグインをインストールしてみてください。 そしてWSDLを使ってWebサービスを追加します。 そして、Webサービスから必要なデータを取得するために、モジュール内で次のコードを使用してください。

Sub Demo()Dim XDocとしてMSXML2.DOMDocument Dim xEmpDetailsとしてMSXML2.IXMLDOMNode Dim xChildとしてMSXML2.IXMLDOMNode DimクエリとしてAs Dim Col、Row As Integer Dimとして

XDocを設定=新しいMSXML2.DOMDocument XDoc.async = False XDoc.validateOnParse = False query = objWS.wsm_GetCitiesByCountry( "india")

XDoc.LoadXML(query)でなければ 'strXMLはXML付きの文字列' Err.Raise XDoc.parseError.ErrorCode、、XDoc.parseError.reason End XDoc.LoadXML(query)の場合

xEmpDetails = XDoc.DocumentElementを設定します。xParent = xEmpDetails.FirstChildワークシート( "Sheet3")を設定します。セル=(1、1).Value = "国"ワークシート( "Sheet3")を表示します。 (65、105、225)ワークシート( "Sheet3")セル(1、2)。値= "City"ワークシート( "Sheet3")。セル(1、2)。内側の色= RGB(65、105、 225)Row = 2 Col = 1各xParent In xEmpDetails.ChildNodes各xChild In xParent.ChildNodesワークシート( "Sheet3")。セル(Row、Col).Value = xChild.Text Col = Col 1 Next xChild Row = Row 1 Col = 1次へxParent終了サブ