Dans un module VBA dans Excel 2007, est-il possible d'appeler un service Web? Si oui, des extraits de code? Comment ajouter la référence Web?Appelez le service Web dans Excel
Répondre
Oui, vous le pouvez!
J'ai travaillé sur un projet qui a fait cela (voir commentaire). Malheureusement, aucun échantillon de code de celui-là, mais googler révélé ces:
How you can integrate data from several Web services using Excel and VBA
STEP BY STEP: Consuming Web Services through VBA (Excel or Word)
Et juste au cas où quelqu'un se demande: Non, ce n'est pas t disponible sur des versions Excel relativement récentes. :( –
Voici un aperçu de MS:
La question ne précise pas quelle version d'Excel est utilisée, cependant, VBA est obsolète en 2007 et votre méthode est correcte –
@Justin Dearing: Qu'est-ce qui vous fait dire que VBA est dépréciée partout? –
Pour une mise à jour répondre voir cette question SO:
calling web service using VBA code in excel 2010
Les deux fils doivent être fusionnés bien.
Dans Microsoft Excel Office 2007, essayez d'installer le plug-in "Web Service Reference Tool". Et utilisez le WSDL et ajoutez les services Web. Et utilisez le code suivant dans le module pour extraire les données nécessaires du service 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. Appelez le service Web depuis le service .net 3.5 windows
- 2. Appelez C# Web Service en utilisant PHP
- 3. Appelez le service Web dans le bloc de code en ligne asp.net
- 4. Excel 2007 - Conversation avec un service Web
- 5. Feuilles protégées dans le service Excel
- 6. documents Excel sur le Web
- 7. SQL Server vers Excel via un service Web
- 8. Paramètre manquant dans le service Web
- 9. Délégation dans le service Web WCF
- 10. Paramètres facultatifs dans le service Web ASP.NET
- 11. Détails du client dans le service Web
- 12. Adhésion ASP.NET: l'utilisateur authentifié est-il perdu lorsque vous appelez un service Web dans la même application Web?
- 13. appeler le service web java par service web .net
- 14. add web Référence dans le service web numéro
- 15. quel est l'attribut de méthode Web dans le service Web?
- 16. Comment appelez-vous une requête Web asynchrone dans VB.NET?
- 17. exception aléatoire AuthenticationManager CustomTargetNameDictionary lorsque vous appelez un service WCF
- 18. Comment: service Web et gestion des délais d'expiration des clients dans le service Web?
- 19. Transfert de données MS Excel vers un site Web via un service Web
- 20. Comment fournir une feuille de calcul Excel via le service Web
- 21. Assistance clientèle via le service Web - comment sécuriser le service Web?
- 22. Caractères illégaux dans le document XML dans ASP.NET Web Service
- 23. Appel de Java Web Service Constructor
- 24. Différence entre le service Web java (jax-ws) et le service Web .net?
- 25. URL dynamique du service Web WCF
- 26. Emulate Excel Web Query dans .net
- 27. Coller Excel dans une page Web
- 28. Comment déboguer via le service Web
- 29. 2.0 Proxy de service Web pour le service WCF
- 30. Charger dynamiquement le service Web .asmx
Je sais que c'est possible, parce que j'ai déjà travaillé sur un projet qui l'a fait. Malheureusement, je n'ai travaillé que sur la partie Service Web et j'avais trop à faire pour explorer le code Excel. Je vais essayer de savoir comment. C'est possible. – Mostlyharmless
Vous pouvez trouver ceci utile: http://stackoverflow.com/questions/3521876/calling-web-service-using-vba-code-in-excel-2010 – SAL