VBA XML

VBA XML

VBA XML

Excel VBA XML

forma completă a XML este Extensible Markup Language, care este la fel ca un fișier HTML, este proiectat pentru a stoca și transporta datele din diferite programe. Fișier XML stochează datele care include desparte și separatoare. Putem crea un cod VBA prin care putem importa datele din fișierul XML în Excel. Pentru a importa datele din fișierul XML în orice alt format, trebuie să stabilim câteva reguli care să spună ce fel de date și câmpuri pot fi utilizate în fișierul XML. Pentru a crea o macrocomandă în VBA pentru fișierul XML, nu avem nevoie obligatoriu de Notepad XML în sistemul nostru. Dar dacă avem, ne va fi ușor să citim fișierul XML pentru datele de care avem nevoie.

deși în Excel, avem o dispoziție de a importa datele fișierului XML, dar folosind VBA, putem citi, importa fișierul XML în Excel.

uita-te la cursurile noastre Demo și clipuri video

evaluare, Hadoop, Excel, aplicații Mobile, Dezvoltare Web & multe altele.

tipuri de noduri în VBA XML

în XML, avem o varietate de noduri care ajută constructiv la citirea și analizarea fișierului XML în alte surse, cum ar fi Word sau Excel. Fiecare DocumentElement se referă la unele dintre listele de noduri de mai jos.

  • nodul părinte
  • primul copil
  • ultimul copil
  • noduri copil
  • următorul frate
  • fratele anterior

toate nodurile menționate mai sus confirmă tipul CA , unde numai nodurile copil sunt tipul de matrice .

în acest exemplu, vom vedea un cod VBA foarte simplu pentru a accesa fișierul XML salvat în orice locație a sistemului individual și a le încărca în VBA. De obicei, pentru a importa fișiere XML în Excel folosind VBA, avem MSXML2.DOMDocument obiect pentru a ne permite să traverseze datele prin structura XML. Dar acest lucru nu poate fi folosit în acest exemplu.

pentru aceasta, trebuie să avem un fișier XML în care putem crea o structură de date sub formă de schemă. Mai jos este captura de ecran a schemei companiei, unde sub aceasta avem sucursala angajaților cu detaliile angajaților, cum ar fi prenumele, prenumele, numărul de Contact, ID-ul de e-mail.

cod XML VBA

cod XML VBA

VBA XML copac

VBA XML copac

pași pentru a importa& adăugați XML în Excel VBA

mai jos sunt exemple de XML în Excel utilizând codul VBA.

puteți descărca acest șablon VBA XML Excel aici-șablon VBA XML Excel

Example #1

Pasul 1: mai întâi accesați fila Meniu Inserare în VBA și deschideți un modul în care vom scrie codul transversal date prin XML așa cum se arată mai jos.

introduceți modulul

introduceți modulul

Pasul 2: Scrieți subprocedura în numele VBA XML pentru definirea codului.

Cod:

Sub VBA_XML()End Sub

exemplu VBA XML 1-2

exemplu VBA XML 1-2

Pasul 3: După cum am discutat deja, pentru fișierul XML vom avea nevoie de obiect. Deci, definiți acum o variabilă folosind DIM ca șir care va fi utilizat pentru stocarea numelui fișierului.

Cod:

Sub VBA_XML()Dim XMLFile As StringEnd Sub

exemplu VBA XML 1-3

exemplu VBA XML 1-3

Pasul 4: Acum vom folosi o aplicație afișează alerte care este utilizată pentru afișarea mesajului de alertă dacă calea aleasă este incorectă.

Cod:

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

exemplu VBA XML 1-4

exemplu VBA XML 1-4

Pasul 5: Acum vom pune linkul sau locația în care am păstrat fișierul XML și îl vom atribui variabilei definite.

Cod:

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

exemplu VBA XML 1-5

exemplu VBA XML 1-5
Notă: păstrați fișierul XML în locația care este ușor de accesat.

Pasul 6: După cum am discutat, vom obține primul obiect cu MSXML2.DOMDoucment.

Cod:

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

exemplu VBA XML 1-6

exemplu VBA XML 1-6

Pasul 7: pentru a încărca datele fișierului XML în Excel, trebuie să deschidem acel fișier XML, folosind numele și locația pe care le-am stocat în variabila de fișiere XML și să selectăm opțiunea de încărcare ca Import în listă așa cum se arată mai jos.

Cod:

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

exemplu VBA XML 1-7

exemplu VBA XML 1-7

Pasul 8: În cele din urmă, utilizați din nou opțiunea aplicației pentru a afișa alerta ca fiind adevărată dacă există.

Cod:

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

exemplu VBA XML 1-8

exemplu VBA XML 1-8

Pasul 9: acum vom compila codul scris apăsând tasta funcțională F8 și rulați-l, dacă nu există nicio eroare Găsită în timpul compilării.

vom vedea, datele stocate în fișierul XML nu este importat într-un registru de lucru nou așa cum se arată mai jos. Putem prelua orice lungime de date de fișier XML în Excel folosind acest cod simplu VBA.

 VBA XML exemplu 1-8

exemplu VBA XML 1-8

exemplu # 2

există un alt mod de a importa datele unui fișier XML folosind codul VBA, care este prea simplu. Pentru aceasta, putem avea un alt modul de Putem face modificările în același modul, de asemenea.

Pasul 1: Pentru aceasta din nou, am avea nevoie de un modul și acolo scriem subprocedura în numele VBA XML.

Cod:

Sub VBA_XML2()End Sub

exemplu VBA XML 2-1

exemplu VBA XML 2-1

Pasul 2: Definiți o variabilă ca șir în care vom stoca locația fișierului și o altă variabilă pentru registrul de lucru așa cum se arată mai jos.

Cod:

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

exemplu VBA XML 2-2

exemplu VBA XML 2-2

Pasul 3: acum, similar cu exemplul anterior, vom folosi acum 2 Aplicații, una de actualizare a ecranului și altele pentru afișarea alertelor ca fiind FALSE.

Cod:

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

exemplu VBA XML 2-3

exemplu VBA XML 2-3

Pasul 4: acum, în variabila definită xmlfile, vom atribui calea fișierului XML.

Cod:

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

exemplu variabil definit 2-4

exemplu variabil definit 2-4

Pasul 5: Similar cu exemplul-1, vom actualiza acum Setați codul pentru deschiderea fișierului XML cu calea definită în variabila xmlfile și încărcați importul de date în listă.

Cod:

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

exemplu VBA XML 2-5

exemplu VBA XML 2-5

Pasul 6: acum, din nou, pentru a pune aplicația de alertă de afișare ca fiind adevărată.

Cod:

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

exemplu de aplicație de alertă de afișare 2-6

exemplu de aplicație de alertă de afișare 2-6

Pasul 7:Odată ce datele sunt importate, le vom copia într-un alt registru de lucru din celula selectată A1: D1 conform numărului de anteturi disponibile în fișierul XML.

Cod:

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

exemplu de registru de lucru 2-7

exemplu de registru de lucru 2-7

Pasul 8: în cele din urmă închideți codul utilizând aplicația de actualizare a ecranului ca fiind adevărată.

Cod:

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

exemplu de aplicație de actualizare a ecranului 2-8

exemplu de aplicație de actualizare a ecranului 2-8

Pasul 9: Acum, dacă rulăm acest cod, vom vedea că datele din fișierul XML vor fi importate într-un nou registru de lucru Excel, așa cum se arată mai jos.

 VBA XML exemplu 2-9

exemplu VBA XML 2-9

Pro-urile VBA XML

  • chiar dacă nu știți cum să creați un fișier XML și să lucrați la el, folosind astfel de coduri VBA, putem extrage datele în codul VBA sau în Excel.
  • putem analiza o porțiune de date XML sau date complete în fereastra VBA utilizând referințe de noduri.

lucruri de reținut

  • fiecare referință nod are propria valoare și semnificație. Utilizarea tipului corect de notă este foarte importantă pentru fiecare condiție.
  • XML la VBA nu se limitează la codul pe care l-am văzut în exemplele de mai sus.
  • putem extrage orice tip de date folosind codul pe care l-am văzut în exemplele discutate mai sus. Dar păstrați locația corectă și calea care este ușor de accesat.
  • de asemenea, putem extrage datele fișierului XML fără a le deschide din opțiunea sursă a filei dezvoltatorului. Acest lucru ne va ajuta să obținem datele așa cum sunt în registrul de lucru Excel.
  • salvați fișierul Excel cod scris în format excel macro activat, pentru a evita pierderea codului.

Articole recomandate

acesta este un ghid pentru XML VBA. Aici vom discuta pașii pentru a importa & adăugați XML în Excel VBA și diferitele sale tipuri de nod, împreună cu exemple practice și șablon excel descărcabil. De asemenea, puteți parcurge celelalte articole sugerate–

  1. VBA LBound
  2. VBA obține valoarea celulei
  3. VBA IsError
  4. VBA Solver
0 acțiuni

Leave a Reply