VBA XML

VBA XML

VBA XML

Excel VBA XML

den fullständiga formen av XML är eXtensible Markup Language som är ungefär som en HTML-fil, är utformad för att lagra och transportera data från olika program. XML-fil lagrar data som inkluderar splittringar och separatorer. Vi kan skapa en VBA-kod med vilken vi kan importera data från XML-filen till Excel. För att importera data från XML-filen till något annat format måste vi ställa in några regler som berättar vilken typ av data och fält som kan användas i XML-filen. För att skapa ett makro i VBA för XML-filen behöver vi inte nödvändigtvis XML-anteckningsblock i vårt system. Men om vi har det blir det lätt för oss att läsa XML-filen för de data vi behöver.

även om vi i Excel har en bestämmelse om att importera data från XML-filen men med VBA kan vi läsa, importera XML-filen i Excel.

titta på våra Demo kurser och videor

värdering, Hadoop, Excel, mobilappar, Webbutveckling & många fler.

typer av nod i VBA XML

i XML har vi en mängd olika noder som konstruktivt hjälper till att läsa och analysera XML-filen i andra källor som Word eller Excel. Varje DocumentElement hänvisar till några av noderna listorna nedan.

  • Modernod
  • första barnet
  • sista barnet
  • barnnoder
  • nästa syskon
  • föregående syskon

alla ovan nämnda noder bekräftar typen som , där endast barnnoder är arraytypen av .

i det här exemplet ser vi en mycket enkel VBA-kod för att komma åt XML-filen som sparats i det enskilda systemets valfri plats och ladda dem till VBA. Vanligtvis, för att importera XML-filer i Excel med VBA, har vi MSXML2.DOMDocument objekt för att tillåta oss att korsa data genom XML-struktur. Men detta får inte användas i det här exemplet.

för detta måste vi ha en XML-fil där vi kan skapa en datastruktur i form av Schema. Nedan är skärmdumpen av företagets schema där vi under det har anställd filial med anställdas detaljer som Förnamn, Efternamn, kontaktnummer, e-post-ID.

VBA XML-kod

VBA XML-kod

VBA XML-träd

VBA XML Tree

steg för att importera & Lägg till XML i Excel VBA

nedan är exemplen på XML i Excel med hjälp av VBA-koden.

Du kan ladda ner den här VBA XML Excel – mallen här-VBA XML Excel-mall

exempel #1

Steg 1: Gå först till Infoga menyflik i VBA och öppna en modul där vi kommer att skriva koden tvärgående data genom XML som visas nedan.

infoga modul

infoga modul

steg 2: Skriv delproceduren i namnet på VBA XML för definitionen av koden.

kod:

Sub VBA_XML()End Sub

exempel på VBA XML 1-2

exempel på VBA XML 1-2

steg 3: som vi redan diskuterat kommer vi att kräva objekt för XML-filen. Så definiera nu en variabel med DIM som sträng som kommer att användas för att lagra filnamnet.

kod:

Sub VBA_XML()Dim XMLFile As StringEnd Sub

exempel på VBA XML 1-3

exempel på VBA XML 1-3

steg 4: Nu kommer vi att använda ett program display varningar som används för att visa varningsmeddelandet om den valda sökvägen är felaktig.

kod:

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

exempel på VBA XML 1-4

exempel på VBA XML 1-4

Steg 5: Nu lägger vi länken eller platsen där vi har behållit XML-filen och tilldelar den till den definierade variabeln.

kod:

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

exempel på VBA XML 1-5

exempel på VBA XML 1-5
Obs: Håll XML-filen på den plats som är lätt att komma åt.

steg 6: Som vi diskuterade får vi det första objektet med MSXML2.DOMDoucment.

kod:

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

exempel på VBA XML 1-6

exempel på VBA XML 1-6

Steg 7: för att ladda data för XML-filen i Excel måste vi öppna den XML-filen med namnet och platsen som vi har lagrat i XML-filvariabeln och välj alternativet Ladda som Importera till lista som visas nedan.

kod:

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

exempel på VBA XML 1-7

exempel på VBA XML 1-7

steg 8: Slutligen, använd igen Applikationsalternativet för att visa varningen som sann om det finns någon.

kod:

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

exempel på VBA XML 1-8

exempel på VBA XML 1-8

steg 9: nu kommer vi att kompilera den skrivna koden genom att trycka på F8-funktionsknappen och köra den om det inte finns något fel under kompileringen.

vi kommer att se, de data som lagras i XML-filen importeras inte i en ny arbetsbok som visas nedan. Vi kan hämta någon längd av data för XML-fil i Excel med hjälp av denna enkla VBA-kod.

 VBA XML exempel 1-8

exempel på VBA XML 1-8

exempel # 2

det finns ett annat sätt att importera data från en XML-fil med VBA-koden som också är enkel. För detta kan vi ha en annan modul av vi kan göra ändringarna i samma modul också.

Steg 1: för detta igen skulle vi kräva en modul och där skriva Underproceduren i namnet VBA XML.

kod:

Sub VBA_XML2()End Sub

exempel på VBA XML 2-1

exempel på VBA XML 2-1

steg 2: Definiera en variabel som sträng där vi lagrar filplatsen och en annan variabel för arbetsbok som visas nedan.

kod:

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

exempel på VBA XML 2-2

exempel på VBA XML 2-2

steg 3: nu liknar det föregående exemplet kommer vi nu att använda 2-applikationer, en av skärmuppdatering och andra för Visningsvarningar som falska.

kod:

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

exempel på VBA XML 2-3

exempel på VBA XML 2-3

steg 4: Nu i den definierade variabeln XMLFile tilldelar vi sökvägen till XML-filen.

kod:

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

definierat Variabelexempel 2-4

definierat Variabelexempel 2-4

Steg 5: i likhet med exempel-1 uppdaterar vi nu koden för att öppna XML-filen med sökvägen definierad i xmlfile-variabeln och laddar dataimporten till listan.

kod:

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

exempel på VBA XML 2-5

exempel på VBA XML 2-5

steg 6: nu igen för att sätta Display alert-programmet som sant.

kod:

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

Visa Varningsapplikation exempel 2-6

Visa Varningsapplikation exempel 2-6

Steg 7:När data har importerats kopierar vi det till en annan arbetsbok från den valda cellen A1: D1 enligt antalet rubriker som finns i XML-filen.

kod:

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

exempel på arbetsbok 2-7

exempel på arbetsbok 2-7

steg 8: Stäng slutligen koden med hjälp av Skärmuppdateringsprogrammet som sant.

kod:

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

skärmuppdatering av applikationsexempel 2-8

skärmuppdatering av applikationsexempel 2-8

steg 9: Nu om vi kör den här koden ser vi att data från XML-filen importeras till en ny Excel-arbetsbok som visas nedan.

 VBA XML exempel 2-9

exempel på VBA XML 2-9

fördelar med VBA XML

  • även om du inte vet hur man skapar en XML-fil och arbetar med den, med hjälp av sådana VBA-koder, kan vi extrahera data till VBA-kod eller i Excel.
  • vi kan tolka en del av XML-Data eller slutföra data i VBA-fönstret med hjälp av nodreferenser.

saker att komma ihåg

  • varje nodreferens har sitt eget värde och mening. Att använda rätt anteckningstyp är mycket viktigt för varje tillstånd.
  • XML till VBA är inte begränsat till koden som vi har sett i ovanstående exempel.
  • vi kan extrahera alla typer av data med hjälp av koden som vi har sett i ovan diskuterade exempel. Men behåll rätt plats och väg som är lätt att komma åt.
  • vi kan också extrahera XML-fildata utan att öppna den från utvecklarflikens Källalternativ. Detta hjälper oss att få data som det är i Excel-arbetsboken.
  • spara den skrivna koden Excel-fil i Makro aktiverat excel-format, för att undvika att förlora koden.

Rekommenderade artiklar

Detta är en guide till VBA XML. Här diskuterar vi steg för att importera & Lägg till XML i Excel VBA och dess olika typer av nod tillsammans med praktiska exempel och nedladdningsbar excel-mall. Du kan också gå igenom våra andra föreslagna artiklar–

  1. VBA LBound
  2. VBA få cellvärde
  3. VBA IsError
  4. VBA Solver
0 aktier

Leave a Reply