consume - call web service from excel
Llamando al servicio web usando el código VBA en Excel 2010 (5)
Desde el momento de la publicación, encontré que el antiguo Kit de herramientas de referencias web de Excel 2003 todavía produce código VBA funcional en Excel 2007/10 (tenga en cuenta que ha habido algunos momentos inestables con varias actualizaciones de Windows en los últimos 18 meses que han dejó de funcionar este código para que no considerara mi solución "confiable").
Mi horrible truco implica instalar Excel 2003, luego el kit de herramientas de referencias web, luego instalar Excel 2007 o Excel 2010. He configurado 3 PC utilizando este truco y todos están produciendo un código VBA funcional para consumir servicios web asmx (no he probado conectándome con otros tipos de servicios web, pero no veo por qué no funcionarían).
El método oficial de MS, usando VSTO, es un paso demasiado lejos para algunos de nuestros clientes y este hack de VBA los ha mantenido felices.
Estoy intentando escribir un código VBA en Excel 2010 que consumiría un servicio web. No puedo encontrar ningún recurso relacionado en Internet. Alguíen puede decirme como hacer esto, por favor.
El moniker del servicio Windows Communication Foundation (WCF) para integrar servicios web en entornos de desarrollo basados en COM, como Microsoft Office Visual Basic para aplicaciones (Office VBA) o Visual Basic 6.0. Para obtener más información, consulte el enlace https://docs.microsoft.com/en-us/dotnet/framework/wcf/samples/using-the-wcf-moniker-with-com-clients
Luché con la misma pregunta en un proyecto mío reciente en el que quería hablar con Trello y Salesforce en VBA puro sin instalar ningún complemento, abrir Visual Studio u otros trucos. Terminé escribiendo mi propia biblioteca (basada en gran medida en uno de mis favoritos, RestSharp).
Advertencia, enchufe descarado: https://github.com/VBA-tools/VBA-Web
Algunas características divertidas incluyen soporte para Mac (!), Autenticación (Http Basic, OAuth1, OAuth2 y otros), soporte para Async y análisis JSON (gracias a VBA-JSON )
Está funcionando muy bien en Excel 2010 y 2013 (y lo más probable es que 2007) y lo tengo trabajando con Salesforce, Trello, Basecamp, Google Maps, y debería funcionar con casi cualquier servicio web.
No creo que la publicación esté marcada como la respuesta correcta, se vincula con la solución Excel 2003, que se basó en el Kit de herramientas de servicios web de MS Office. Esa solución ya no es válida ya que el Kit de herramientas ya no es compatible. Ver: MSDN - Consumir servicios web en Excel 2007 . El enlace proporciona una solución para Excel 2007 que puede transponerse a Excel 2010. Sin embargo, necesitará Visual Studio 2010 con Microsoft Office Developers Tools. También significa utilizar .Net Framework y la codificación en C # o VB.NET.
Unos años más tarde ... encontré esta página, que es la mejor y más clara explicación y el ejemplo que he encontrado hasta ahora, que incluye un enlace interesante que brinda servicios para jugar .