Sto cercando di scrivere del codice VBA in Excel 2010 che consumerebbe un servizio web. Non riesco a trovare alcuna risorsa correlata su Internet. Qualcuno può dirmi come farlo.chiamando il servizio web utilizzando il codice VBA in Excel 2010
risposta
Non credo che il post sia contrassegnato come la risposta corretta: si collega alla soluzione Excel 2003, basata sul toolkit dei servizi Web di MS Office. Quella soluzione non è più valida in quanto il Toolkit non è più supportato. Vedi: MSDN - Consuming Web Services in Excel 2007. Il collegamento fornisce una soluzione per Excel 2007 che può essere trasposta in Excel 2010. Avrete comunque bisogno di Visual Studio 2010 con Microsoft Office Developers Tools. Significa anche utilizzare .Net Framework e codifica in C# o VB.NET.
-1, la domanda per VBA. Questa risposta richiede Visual Studio. –
Abbastanza giusto. A mio parere, la SM vorrebbe avere la VBA morta e sta spingendo soluzioni .net per Office. Sulla nota separata, non è necessario utilizzare Visual Studio. È possibile utilizzare NotePad e il compilatore della riga di comando. – Juliusz
Si sarebbe sorpreso del numero di banche (anche molto grandi) che quasi smetterebbero di funzionare se VBA scomparisse domani !!! –
FWIW al momento della pubblicazione ho trovato che il vecchio Web Reference Toolkit di Excel 2003 produce ancora codice VBA funzionante in Excel 2007/10 (notare che ci sono stati alcuni momenti traballanti con vari aggiornamenti di Windows negli ultimi 18 mesi che hanno fermato questo codice funzionante, quindi non considererei la mia soluzione "affidabile").
Il mio trucco orribile comporta l'installazione di Excel 2003, quindi il Web Reference Toolkit, quindi l'installazione di Excel 2007 o Excel 2010. Ho installato 3 PC utilizzando questo hack e tutti stanno producendo codice VBA funzionante per consumare servizi Web asmx (I non ho provato a connettermi con altri tipi di servizi web ma non vedo perché non funzionerebbero).
Il metodo MS ufficiale, utilizzando VSTO, è un passo troppo lungo per alcuni dei nostri clienti e questo hack VBA li ha mantenuti felici.
Ho faticato con la stessa domanda in un mio recente progetto in cui volevo parlare con Trello e Salesforce in puro VBA senza installare alcun plug-in, aprendo Visual Studio o altri hack. Finito di scrivere la mia libreria (basata pesantemente su uno dei miei preferiti, RestSharp).
Attenzione, spudorato: (!) https://github.com/VBA-tools/VBA-Web
Alcune caratteristiche di divertimento includono il supporto per Mac, l'autenticazione (HTTP di base, OAuth1, OAuth2, e altri), supporto Async, e JSON parsing (grazie a VBA-JSON)
Funziona in modo eccezionale in Excel 2010 e 2013 (e molto probabilmente nel 2007) e ho lavorato con Salesforce, Trello, Basecamp, Google Maps e dovrebbe funzionare praticamente con qualsiasi webservice.
Alcuni anni più tardi ... Ho trovato this page che è la spiegazione migliore e più chiara e l'esempio che ho trovato finora, tra cui an interesting link providing services to play with.
Moniker del servizio Windows Communication Foundation (WCF) per integrare i servizi Web in ambienti di sviluppo basati su COM, come Microsoft Office Visual Basic per applicazioni (Office VBA) o Visual Basic 6.0. Per dettagli, vedere collegamento https://docs.microsoft.com/en-us/dotnet/framework/wcf/samples/using-the-wcf-moniker-with-com-clients
- 1. Il modo migliore per proteggere il codice VBA di Excel?
- 2. Dov'è il servizio Web ASP.Net in Visual Studio 2010?
- 3. Inserisci il codice Excel-VBA nel modulo o nel foglio?
- 4. VBA Excel - leggere il valore della cella dal codice
- 5. MS Excel si blocca quando viene eseguito il codice vba
- 6. Funzione Dir in Excel 2010 VBA non funziona
- 7. Come rimuovere il carattere "*" in Excel 2010?
- 8. Chiamare il servizio Web utilizzando wget
- 9. Servizio Web RESTful utilizzando il nodo js
- 10. Manca il modello di progetto servizio Web 2010 VS?
- 11. Come si chiama il client WCF da Excel 2003 VBA?
- 12. Excel VBA corrente ottenga il mese
- 13. Bug in VBA DateValue() in VBA Excel?
- 14. Importa dati CSV dal servizio Web in Excel
- 15. Trova e sostituisci testo in Powerpoint 2010 da Excel 2010 con VBA
- 16. matrice in Excel VBA
- 17. Pubblica distribuzione Web utilizzando il codice VS
- 18. Come arrestare il codice VBA in esecuzione?
- 19. Come utilizzare il controllo della versione con il codice VBA?
- 20. Importare un foglio di lavoro Excel in Access utilizzando VBA
- 21. In che modo Excel 2007/2010 può utilizzare un servizio Web REST?
- 22. Excel vba refresh wait
- 23. Inserire il testo in grassetto in Word utilizzando VBA
- 24. Funzione array in Excel VBA
- 25. Esegui codice quando il modulo viene chiuso in VBA (Excel 2007)
- 26. Excel VBA a C#
- 27. Come determinare se il file esiste con VBA Excel 2007?
- 28. Come ottenere il nome/percorso del file Excel in VBA
- 29. Java a Excel 2010
- 30. Scrittura del codice VBA di Excel in Visual Studio
È possibile trovare [questo] (http://msdn.microsoft.com/en-us/magazine/cc163837.aspx) utile. Dovrebbe applicarsi ugualmente bene ad Excel 2010. Trovato [questo] (http://blogs.msdn.com/b/hovsep/archive/2007/07/11/excel-2007-how-to-connect-to-and- import-data-from-an-xml-web-service.aspx). – yuben
Il blog di Jimmy Peña ha un'eccellente serie di articoli su come fare proprio questo. http://www.codeforexcelandoutlook.com/blog/category/internet-explorer/ – Lunatik
purtroppo non c'era nulla di relativo a questo particolare problema in questo sito – Aadith