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.
Procedura per Importare & Aggiungi XML in Excel VBA
di Seguito sono riportati gli esempi di XML in Excel utilizzando il Codice VBA.
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.
Passaggio 2: Scrivere la sottoprocedura nel nome di VBA XML per la definizione del codice.
Codice:
Sub VBA_XML()End Sub
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
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
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
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
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
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
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 #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
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
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
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
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
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
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
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
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.
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–
- VBA LBound
- VBA Ottiene il valore della cella
- VBA IsError
- VBA Solver
Leave a Reply