VBA XML

VBA XML

VBA XML

VBA di Excel XML

L’forma di XML eXtensible Markup Language, che è molto simile a un file HTML, è progettato per memorizzare e trasportare i dati da programmi diversi. File XML memorizza i dati che include le divisioni e separatori. Possiamo creare un codice VBA con il quale possiamo importare i dati dal file XML in Excel. Al fine di importare i dati dal file XML in qualsiasi altro formato, abbiamo bisogno di impostare alcune regole che dice che tipo di dati e campi possono essere utilizzati nel file XML. Per creare una macro in VBA per il file XML, non abbiamo necessariamente bisogno di blocco note XML nel nostro sistema. Ma se abbiamo sarà facile per noi leggere il file XML per i dati di cui abbiamo bisogno.

Sebbene in Excel, abbiamo una disposizione di importare i dati del file XML ma usando VBA, possiamo leggere, importare il file XML in Excel.

Guarda i nostri corsi demo e video

Valutazione, Hadoop, Excel, Applicazioni mobili, Sviluppo Web & molti altri.

Tipi di nodo in VBA XML

In XML, abbiamo una varietà di nodi che aiuta in modo costruttivo nella lettura e analisi del file XML in altre fonti come Word o Excel. Ogni DocumentElement fa riferimento ad alcuni degli elenchi di nodi riportati di seguito.

  • Nodo Genitore
  • Primo Figlio
  • Ultimo Figlio
  • Nodi figlio
  • Fratello successivo
  • Fratello precedente

Tutti i nodi sopra menzionati confermano il tipo come , dove solo i nodi Figlio sono tipo di matrice di.

In questo esempio, vedremo un codice VBA molto semplice per accedere al file XML salvato in qualsiasi posizione del singolo sistema e caricarli in VBA. Di solito, per importare file XML in Excel utilizzando VBA, abbiamo MSXML2.Oggetto DOMDocument per permetterci di attraversare i dati attraverso la struttura XML. Ma questo potrebbe non essere usato in questo esempio.

Per questo, dobbiamo avere un file XML in cui possiamo creare una struttura dati sotto forma di Schema. Di seguito è riportato lo screenshot dello schema aziendale in cui sotto abbiamo filiale dipendente con i dettagli del dipendente come Nome, cognome, numero di contatto, ID e-mail.

VBA Codice XML

VBA Codice XML

VBA Albero XML

VBA Albero XML

Procedura per Importare & Aggiungi XML in Excel VBA

di Seguito sono riportati gli esempi di XML in Excel utilizzando il Codice VBA.

È possibile scaricare questo modello VBA XML Excel qui – VBA XML Excel Template

Esempio #1

Passo 1: Prima vai alla scheda Inserisci menu in VBA e aprire un modulo in cui scriveremo i dati trasversali del codice tramite XML come mostrato di seguito.

 Inserisci modulo

Inserire il modulo

Passaggio 2: Scrivere la sottoprocedura nel nome di VBA XML per la definizione del codice.

Codice:

Sub VBA_XML()End Sub

Esempio XML VBA 1-2

Esempio XML VBA 1-2

Passo 3: Come abbiamo già discusso, per il file XML richiederemo Object. Quindi, ora definisci una variabile usando DIM come stringa che verrà utilizzata per memorizzare il nome del file.

Codice:

Sub VBA_XML()Dim XMLFile As StringEnd Sub

Esempio XML VBA 1-3

Esempio XML VBA 1-3

Punto 4: Ora useremo un avviso di visualizzazione dell’applicazione che viene utilizzato per mostrare il messaggio di avviso se il percorso scelto non è corretto.

Codice:

Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseEnd Sub

Esempio XML VBA 1-4

Esempio XML VBA 1-4

Passo 5: Ora inseriremo il link o la posizione in cui abbiamo conservato il file XML e lo assegneremo alla variabile definita.

Codice:

Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"End Sub

Esempio XML VBA 1-5

Esempio XML VBA 1-5
Nota: mantenere il file XML nella posizione che è di facile accesso.

Punto 6: Come abbiamo discusso, otterremo il primo oggetto con MSXML2.DOMDoucment.

Codice:

Sub VBA_XML()Dim CusDoc As ObjectDim Base As ObjectSet CusDoc = CreateObject("MSXML2.DOMDoucment")End Sub

VBA Esempio di XML 1-6

VBA Esempio di XML 1-6

Passo 7: Per caricare i dati di un file XML in Excel, è necessario aprire il file XML, utilizzando il nome e la posizione che abbiamo memorizzato nel File XML variabile e selezionare l’opzione di caricamento Importazione di Elenco, come mostrato di seguito.

Codice:

Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Workbooks.OpenXML Filename:=XMLFile, LoadOption:=xlXmlLoadImportToListEnd Sub

Esempio XML VBA 1-7

Esempio XML VBA 1-7

Punto 8: Infine, utilizzare nuovamente l’opzione dell’applicazione per visualizzare l’avviso come VERO se ce n’è.

Codice:

Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Workbooks.OpenXML Filename:=XMLFile, LoadOption:=xlXmlLoadImportToListApplication.DisplayAlerts = TrueEnd Sub

Esempio XML VBA 1-8

Esempio XML VBA 1-8

Passo 9: Ora compileremo il codice scritto premendo il tasto funzionale F8 ed eseguirlo, se non viene rilevato alcun errore durante la compilazione.

Vedremo, i dati memorizzati nel file XML non vengono importati in una nuova cartella di lavoro come mostrato di seguito. Possiamo recuperare qualsiasi lunghezza di dati del file XML in Excel utilizzando questo semplice codice VBA.

 Esempio XML VBA 1-8

Esempio XML VBA 1-8

Esempio #2

C’è un altro modo per importare i dati di un file XML usando il codice VBA che è anche semplice. Per questo, possiamo avere un altro modulo di possiamo apportare le modifiche nello stesso modulo pure.

Passo 1: Per questo ancora una volta avremmo bisogno di un modulo e lì scrivere la sottoprocedura nel nome di VBA XML.

Codice:

Sub VBA_XML2()End Sub

Esempio XML VBA 2-1

Esempio XML VBA 2-1

Fase 2: Definire una variabile come stringa in cui verrà memorizzata la posizione del file e un’altra variabile per la cartella di lavoro come mostrato di seguito.

Codice:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookEnd Sub

Esempio XML VBA 2-2

Esempio XML VBA 2-2

Passo 3: Ora simile all’esempio precedente useremo 2 applicazioni, una di aggiornamento dello schermo e altre per visualizzare gli avvisi come FALSI.

Codice:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseEnd Sub

Esempio XML VBA 2-3

Esempio XML VBA 2-3

Passo 4: Ora nella variabile definita XMLFile, assegneremo il percorso del file XML.

Codice:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"End Sub

Esempio di variabile definita 2-4

Esempio di variabile definita 2-4

Passo 5: Simile all’esempio-1, aggiorneremo ora impostare il codice per l’apertura del file XML con il percorso definito nella variabile XMLFile e caricare l’importazione dei dati nell’elenco.

Codice:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Set WBook = Workbooks.OpenXML(Filename:=XMLFile, LoadOption:=xlXmlLoadImportToList)End Sub

Esempio XML VBA 2-5

Esempio XML VBA 2-5

Passo 6: Ora di nuovo per mettere l’applicazione Display alert come TRUE.

Codice:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Set WBook = Workbooks.OpenXML(Filename:=XMLFile, LoadOption:=xlXmlLoadImportToList)Application.DisplayAlerts = TrueEnd Sub

Esempio di applicazione di avviso di visualizzazione 2-6

Esempio di applicazione di avviso di visualizzazione 2-6

Passo 7: Una volta importati i dati, li copieremo in un’altra cartella di lavoro dalla cella selezionata A1:D1 in base al numero di intestazioni disponibili nel file XML.

Codice:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Set WBook = Workbooks.OpenXML(Filename:=XMLFile, LoadOption:=xlXmlLoadImportToList)Application.DisplayAlerts = TrueWBook.Sheets(1).UsedRange.Copy ThisWorkbook.Sheets(1).Range("A1:D1")End Sub

Esempio di cartella di lavoro 2-7

Esempio di cartella di lavoro 2-7

Passo 8: Finalmente chiudere il codice utilizzando l’applicazione di aggiornamento dello schermo come TRUE.

Codice:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Set WBook = Workbooks.OpenXML(Filename:=XMLFile, LoadOption:=xlXmlLoadImportToList)Application.DisplayAlerts = TrueWBook.Sheets(1).UsedRange.Copy ThisWorkbook.Sheets(1).Range("A1:D1")Application.ScreenUpdating = TrueEnd Sub

Esempio di applicazione di aggiornamento dello schermo 2-8

Esempio di applicazione di aggiornamento dello schermo 2-8

Passo 9: Ora se eseguiamo questo codice, vedremo i dati dal file XML verranno importati in una nuova cartella di lavoro di Excel come mostrato di seguito.

Esempio XML VBA 2-9

Esempio XML VBA 2-9

Pro di VBA XML

  • Anche se non sai come creare un file XML e lavorare su di esso, utilizzando tali codici VBA, possiamo estrarre i dati in codice VBA o in Excel.
  • Possiamo analizzare una porzione di dati XML o completare i dati nella finestra VBA utilizzando i riferimenti ai nodi.

Cose da ricordare

  • Ogni riferimento al nodo ha il suo valore e significato. Utilizzando il giusto tipo di nota è molto importante per ogni condizione.
  • XML a VBA non è limitato al codice che abbiamo visto negli esempi precedenti.
  • Possiamo estrarre qualsiasi tipo di dati usando il codice che abbiamo visto negli esempi sopra discussi. Ma mantenere la posizione corretta e il percorso che è di facile accesso.
  • Possiamo anche estrarre i dati del file XML senza aprirlo dall’opzione di origine della scheda sviluppatore. Questo ci aiuterà a ottenere i dati così come sono nella cartella di lavoro di Excel.
  • Salvare il file Excel codice scritto in formato Excel abilitato Macro, per evitare di perdere il codice.

Articoli consigliati

Questa è una guida al VBA XML. Qui discutiamo i passaggi per importare & Aggiungi XML in Excel VBA e i suoi diversi tipi di nodo insieme ad esempi pratici e modello Excel scaricabile. Si può anche passare attraverso i nostri altri articoli suggeriti–

  1. VBA LBound
  2. VBA Ottiene il valore della cella
  3. VBA IsError
  4. VBA Solver
0 Azioni

Leave a Reply