Appeler le service web en utilisant le code VBA dans Excel 2010
5 réponses
Je ne pense pas que le message marqué comme la réponse soit juste - il renvoie à la solution Excel 2003, qui était basée sur la boîte à outils des services web MS Office. Cette solution n'est plus valide que la boîte à outils n'est plus supportée. Voir: MSDN - Consommer des Services Web dans Excel 2007 . Le lien fournit une solution pour Excel 2007 qui peut être transposée à Excel 2010. Vous aurez toutefois besoin de Visual Studio 2010 avec les outils de développement Microsoft Office. Cela signifie également utiliser Cadre. net et codage en C# ou VB.NET.
je me suis posé la même question sur un de mes projets récents où je voulais parler à Trello et Salesforce en pure VBA sans installer de plugins, ouvrir Visual Studio, ou autres hacks. J'ai fini par écrire ma propre bibliothèque (basée fortement sur un de mes favoris, RestSharp).
avertissement, bouchon sans vergogne: https://github.com/VBA-tools/VBA-Web
certaines fonctionnalités amusantes comprennent le Support Mac(!), Authentication (Http Basic, OAuth1, OAuth2, and others), Async support, et JSON parsing (merci à VBA-JSON )
il fonctionne à merveille dans Excel 2010 et 2013 (et très probablement 2007) et je l'ai fait travailler avec Salesforce, Trello, Basecamp, Google Maps, et il devrait fonctionner avec à peu près n'importe quel service web.
FWIW au moment de la publication, j'ai constaté que l'ancien référentiel Web Toolkit D'Excel 2003 produit toujours le code VBA de travail dans Excel 2007/10 (notez qu'il y a eu quelques moments difficiles avec diverses mises à jour de Windows au cours des 18 derniers mois qui a arrêté ce code de travail de sorte que je ne considérerais pas ma solution "fiable").
mon horrible piratage consiste à installer Excel 2003, puis le référentiel Web Toolkit, puis à installer Excel 2007 ou Excel 2010. J'ai mis jusqu'à 3 PC utilisant ce hack et tous produisent du code VBA fonctionnel pour consommer des services Web asmx (Je n'ai pas essayé de me connecter avec d'autres types de services web, mais je ne vois pas pourquoi ils ne fonctionneraient pas).
la méthode officielle MS, en utilisant VSTO, est un pas trop loin pour certains de nos clients et ce piratage VBA les a maintenus heureux.
quelques années plus tard...J'ai trouvé cette page qui est la meilleure et la plus claire explication et l'exemple que j'ai trouvé jusqu'à présent, y compris un lien intéressant sur la prestation de services à jouer avec .
Windows Communication Foundation (WCF) surnom pour intégrer les services Web en COM-environnements de développement, tels que Microsoft Office Visual Basic pour Applications (VBA Office) ou Visual Basic 6.0. Pour plus de détails, voir le lien https://docs.microsoft.com/en-us/dotnet/framework/wcf/samples/using-the-wcf-moniker-with-com-clients