Riempire un file Excel da XML remoto

Riempire un file Excel da XML remoto

Quello che vedremo oggi è come scrivere una macro per Excel che prende i dati da un url remoto in formato XML.

Darò per scontato le seguenti cose:

  • che avete già un url remoto da cui prendere i dati; non mi metterò a spiegare come creare un web service del genere
  • come abilitare gli strumenti per sviluppatori in Excel (ogni versione ha la sue modalità)
  • come aggiungere un pulsante ed assegnarli una macro

Questo un codice VBA di esempio:

Sub URL_Get_Query()
    Dim baseUrl As String
    baseUrl = "https://www.sito.it/file.php?parametro=" 
	         & Worksheets("PARAMS").Range("B4").Value
    Worksheets("DATI").Activate
    Worksheets("DATI").Cells.Clear
    ActiveWorkbook.XmlImport URL:=baseUrl & i, ImportMap:=Nothing, 
	        Overwrite:=True, Destination:=Worksheets("DATI").Range("A1")
    Worksheets("PIVOT").Activate
    ActiveSheet.PivotTables("Tabella_pivot1").RefreshTable
    MsgBox ("Dati aggiornati!")
End Sub

In pratica:

  • nella url abbiamo impostato anche un parametro da passare in GET al web service; il parametro lo prendiamo dalla cella B4 del foglio PARAMS
  • attiviamo il foglio DATI, lo svuotiamo e riempiamo con ActiveWoorkbook.XmlImport
  • poi io ho anche una pivot, che vado ad attivare e refreshare
  • alla fine visualizzo un finestra di messaggio

Ho provato a portare questa marco su LibreOffice ma non ha funzionato; penso che il problema sia proprio XmlImport.

Enjoy!




Share

Commentami!

About Mattepuffo.com

Blog dedicato all'informatica e alla programmazione!
Tutti i contenuti di questo blog, tranne casi particolari, sono sotto licenza Licenza Creative Commons Creative Commons Attribution-Noncommercial-Share Alike 2.5. .

2576 articoli
310 commenti
19 progetti
Altri link
  • About
  • Scrivimi
  • Copyright
  • Sitemap
  • matteo.ferrone@yahoo.it
  • GitHub
  • Privacy Policy