En un módulo VBA en excel 2007, ¿es posible llamar a un servicio web? Si es así, ¿algún fragmento de código? ¿Cómo agregaría la referencia web?Llamar al servicio web en excel
Respuesta
Sí Puede!
Trabajé en un proyecto que lo hizo (ver comentario). Lamentablemente no hay ejemplos de código de que uno, pero buscando en Google reveló los siguientes:
How you can integrate data from several Web services using Excel and VBA
STEP BY STEP: Consuming Web Services through VBA (Excel or Word)
Y en caso de que alguien se esté preguntando: No, esto no es así. t disponible en versiones de Excel razonablemente recientes. :( –
He aquí un resumen de EM:
La pregunta no especifica qué versión de Excel se está utilizando. Sin embargo, VBA está en desuso en 2007 y su método es correcto. –
@Justin Dearing: ¿Qué le hace decir que VBA está obsoleto en cualquier lugar ??? –
Para una actualización respuesta vea esta pregunta ASÍ:
calling web service using VBA code in excel 2010
Ambos hilos deberían fusionarse sin embargo.
En Microsoft Excel Office 2007 intente instalar el complemento "Web Service Reference Tool". Y use WSDL y agregue los servicios web. Y use el siguiente código en el módulo para obtener los datos necesarios del servicio 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
- 1. FileNotFoundException al llamar al servicio web
- 2. No se puede llamar al servicio web
- 3. Llamar al servicio web usando wget
- 4. HttpContext vacío al llamar al servicio web WCF
- 5. Llamar al servicio web asp.net desde PHP con múltiples parámetros
- 6. Mantener la sesión al llamar a un servicio web ASMX
- 7. ¿Cómo llamar al servicio web utilizando vbscript (sincrónico)?
- 8. Llamar al servicio web json externo de asp.net C#
- 9. Llamar a un servicio web desde C++
- 10. Permiso denegado error al llamar al servicio web utilizando HTTP en la aplicación de Android
- 11. Llamando al servicio web desde C++
- 12. ¿Cómo puede Excel 2007/2010 consumir un servicio web REST?
- 13. importar datos CSV de servicio web en Excel
- 14. Acceso al servicio web virtualbox
- 15. Llamar a un servicio web seguro en Java
- 16. Windows phone 7, silverlight: cómo atrapar EndpointNotFoundException al llamar al servicio web asíncrono?
- 17. llamando al servicio web utilizando el código VBA en excel 2010
- 18. Cómo llamar a un servicio web mediante programación en asp.net
- 19. Cómo llamar a un servicio web sin wsdl en .net
- 20. Llamadas al servicio web SOAP desde Javascript
- 21. Necesita orientación para llamar al servicio WCF de Silverlight 4
- 22. ¿Cómo llamar a un método de servicio web?
- 23. autenticación falló al llamar a un servicio WCF desde ASP.NET
- 24. la automatización de Excel 2007 con Powershell al llamar Workbooks.Add()
- 25. llamar a un servicio web externo desde un servlet
- 26. Agregue referencia de servicio al servicio ASP.NET Web API
- 27. ¿Es posible llamar a un servicio web con Indesign javascript?
- 28. Usar la reflexión para llamar a un servicio web ASP.NET
- 29. acceder al servicio web desde jQuery - dominios
- 30. Asp.Net 3.5 ¿Enrutamiento al servicio web?
Sé que es posible, porque una vez trabajé en un proyecto que lo hizo. Desafortunadamente, solo trabajé en la parte del servicio web y tenía demasiado en mi plato para poder explorar el código Excel. Trataré de averiguar cómo. Es posible. – Mostlyharmless
Puede encontrar esto útil: http://stackoverflow.com/questions/3521876/calling-web-service-using-vba-code-in-excel-2010 – SAL