在Excel中调用Web服务
在Excel 2007中的VBA模块中,是否可以调用Web服务? 如果是这样,任何代码片段? 我将如何添加Web引用?
是的你可以!
我曾经做过一个这样的项目(见评论)。 不幸的是,没有从那个代码样本,但谷歌search显示这些:
如何使用Excel和VBA集成来自多个Web服务的数据
STEP BY STEP:通过VBA使用Web服务(Excel或Word)
VBA:使用SOAP Web服务
这是来自MS的概述:
在Excel 2007中使用Web服务
有关更新的答案,请参阅此SO问题:
在Excel 2010中使用VBA代码调用Web服务
两个线程都应该合并。
在Microsoft Excel Office 2007中,请尝试安装“Web服务参考工具”插件。 并使用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
- PHP中的代码为天花板function
- 亚马逊S3 putObject Excel通过stream不工作(爪哇)
- Excel的精确在线加载项Invantive Control的语言从法语更改为英语
- MS-Excel Power Pivot + Amazon Redshift:可能连接数据源?
- 通过Web服务将MS Excel数据移动到网站
- 如何衡量Excel计算速度?
- HP Quality Center 12.20 Excel Uploader – testing实例中未显示testing用例
- c#Microsoft.Office.Interop.Excel导出
- 是否有可能在Flash应用程序中读取本地Excel 97-2003文件(.xls)?