web-dev-qa-db-fra.com

Appel du service Web à l'aide du code VBA dans Excel 2010

J'essaie d'écrire du code VBA dans Excel 2010 qui consomme un service Web. Je suis incapable de trouver des ressources connexes sur Internet. Est-ce que quelqu'un pourrait m'expliquer comment faire cela.

17
Aadith

Je ne pense pas que le message indiqué comme étant la bonne réponse soit correct - il renvoie à la solution Excel 2003, basée sur MS Office Web Services Toolkit. Cette solution n'est plus valide car le Toolkit n'est plus pris en charge. Voir: MSDN - Consommation de services Web dans Excel 2007 . Le lien fournit une solution pour Excel 2007 qui peut être transposée dans Excel 2010. Toutefois, vous aurez besoin de Visual Studio 2010 avec les outils de développement Microsoft Office. Cela signifie également utiliser .Net Framework et coder en C # ou VB.NET. 

8
Juliusz

Je me suis débattu avec la même question sur un projet récent où je voulais parler à Trello et à Salesforce en mode VBA pur sans installer de plug-in, ni ouvrir Visual Studio, ni aucun autre hacks. J'ai fini par écrire ma propre bibliothèque (fortement basée sur l'un de mes favoris, RestSharp). 

Attention, fiche éhontée: https://github.com/VBA-tools/VBA-Web

Certaines fonctionnalités amusantes incluent le support Mac (!), L'authentification (Http Basic, OAuth1, OAuth2 et autres), le support Async et l'analyse JSON (grâce à VBA-JSON )

Cela fonctionne à merveille dans Excel 2010 et 2013 (et très probablement en 2007). Je travaille avec Salesforce, Trello, Basecamp, Google Maps et cela devrait fonctionner avec à peu près n'importe quel service Web.

34
Tim Hall

FWIW au moment de publier, j’ai constaté que l’ancien Web Reference Toolkit d’Excel 2003 produisait encore du code VBA fonctionnel dans Excel 2007/10 (à noter que certaines mises à jour de Windows ont été instables au cours des 18 derniers mois. pour que ce code ne fonctionne plus, je ne considérerais donc pas ma solution «fiable»).

Mon horrible hack implique d’installer Excel 2003, puis le Web References Toolkit, puis Excel 2007 ou Excel 2010. J’ai configuré 3 ordinateurs utilisant ce hack et tous produisent du code VBA fonctionnel pour utiliser les services Web asmx (je n’ai pas essayé. connexion avec d’autres types de services Web, mais je ne vois pas pourquoi ils ne fonctionneraient pas).

La méthode officielle de MS, utilisant VSTO, va trop loin pour certains de nos clients et ce hack de VBA les a rendus heureux.

3
SAL

Quelques années plus tard ... J'ai trouvé cette page qui est l'explication la plus claire et la plus claire que j'ai trouvée jusqu'à présent, y compris un lien intéressant proposant des services pour jouer avec .

0
Patrick Honorez

Le nom de service Windows Communication Foundation (WCF) permettant d'intégrer des services Web dans des environnements de développement basés sur COM, tels que Microsoft Office Visual Basic pour Applications (Office VBA) ou Visual Basic 6.0. Pour plus de détails, voir lien https://docs.Microsoft.com/en-us/dotnet/framework/wcf/samples/using-the-wcf-moniker-with-com-clients

0
Muhammad Yaseen