VBA XML
Excel VBA XML
plná forma XML je rozšiřitelný značkovací jazyk, který je podobně jako soubor HTML, je určen k ukládání a přepravě dat z různých programů. Soubor XML ukládá data, která zahrnují rozdělení a oddělovače. Můžeme vytvořit kód VBA, pomocí kterého můžeme importovat data ze souboru XML do aplikace Excel. Aby bylo možné importovat data ze souboru XML do jakéhokoli jiného formátu, musíme nastavit některá pravidla, která říká, jaký druh dat a polí lze použít v souboru XML. Chcete-li vytvořit makro ve VBA pro soubor XML, nepotřebujeme povinný poznámkový blok XML v našem systému. Ale pokud máme, bude pro nás snadné přečíst soubor XML pro data, která potřebujeme.
ačkoli v aplikaci Excel máme ustanovení o importu dat souboru XML, ale pomocí VBA můžeme číst, importovat soubor XML v aplikaci Excel.
podívejte se na naše Demo kurzy a videa
ocenění, Hadoop, Excel, mobilní aplikace, vývoj webových aplikací & mnoho dalších.
typy uzlů ve VBA XML
v XML máme řadu uzlů, které konstruktivně pomáhají při čtení a analýze souboru XML do jiných zdrojů, jako je Word nebo Excel. Každý dokumentový prvek odkazuje na některé z níže uvedených seznamů uzlů.
- nadřazený uzel
- první dítě
- poslední dítě
- podřízené uzly
- další sourozenec
- předchozí sourozenec
všechny výše uvedené uzly potvrzují Typ as, kde pouze podřízené uzly jsou typem pole .
v tomto příkladu uvidíme velmi jednoduchý kód VBA pro přístup k souboru XML uloženému v libovolném umístění jednotlivých systémů a jejich načtení do VBA. Obvykle importujeme soubory XML v aplikaci Excel pomocí VBA, máme MSXML2.DOMDocument objekt, který nám umožní přenést data přes strukturu XML. To však v tomto příkladu nemusí být použito.
k tomu musíme mít soubor XML, ve kterém můžeme vytvořit datovou strukturu ve formě schématu. Níže je snímek obrazovky firemního schématu, kde pod tím máme pobočku zaměstnanců s podrobnostmi o zaměstnancích, jako je jméno, příjmení, kontaktní číslo, e-mailové ID.
kroky k importu & přidat XML v Excelu VBA
Níže jsou uvedeny příklady XML v Excelu pomocí kódu VBA.
Příklad # 1
Krok 1: Nejprve přejděte na kartu Vložit nabídku ve VBA a otevřete modul, kde budeme psát kód příčná data prostřednictvím XML, jak je uvedeno níže.
Krok 2: Napište podproces ve jménu VBA XML pro definici kódu.
kód:
Sub VBA_XML()End Sub
Krok 3: Jak jsme již diskutovali, pro soubor XML budeme vyžadovat objekt. Nyní tedy definujte proměnnou pomocí DIM jako řetězec, který bude použit pro uložení názvu souboru.
kód:
Sub VBA_XML()Dim XMLFile As StringEnd Sub
Krok 4: Nyní použijeme upozornění na zobrazení aplikace, která se používá k zobrazení výstražné zprávy, pokud je zvolená cesta nesprávná.
kód:
Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseEnd Sub
Krok 5: Nyní vložíme odkaz nebo umístění, kde jsme uchovávali soubor XML, a přiřadíme jej definované proměnné.
kód:
Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"End Sub
Krok 6: Jak jsme diskutovali, dostaneme první objekt s MSXML2.DOMDoucment.
kód:
Sub VBA_XML()Dim CusDoc As ObjectDim Base As ObjectSet CusDoc = CreateObject("MSXML2.DOMDoucment")End Sub
Krok 7: Chcete-li načíst data souboru XML v aplikaci Excel, musíme tento soubor XML otevřít pomocí názvu a umístění, které jsme uložili v proměnné souboru XML, a vybrat možnost zatížení jako Import do seznamu, jak je uvedeno níže.
kód:
Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Workbooks.OpenXML Filename:=XMLFile, LoadOption:=xlXmlLoadImportToListEnd Sub
Krok 8: Nakonec znovu použijte možnost Aplikace a zobrazte upozornění jako pravdivé, pokud existuje.
kód:
Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Workbooks.OpenXML Filename:=XMLFile, LoadOption:=xlXmlLoadImportToListApplication.DisplayAlerts = TrueEnd Sub
Krok 9: nyní zkompilujeme písemný kód stisknutím funkčního tlačítka F8 a spustíme jej, pokud během kompilace nedojde k žádné chybě.
uvidíme, data uložená v souboru XML nejsou importována do nového sešitu, jak je uvedeno níže. Můžeme načíst libovolnou délku dat XML souboru do Excelu pomocí tohoto jednoduchého kódu VBA.
příklad #2
existuje další způsob, jak importovat data souboru XML pomocí kódu VBA, který je také jednoduchý. Za tímto účelem můžeme mít další modul, který můžeme provést také ve stejném modulu.
Krok 1: k tomu bychom znovu potřebovali modul a tam napište podproces ve jménu VBA XML.
kód:
Sub VBA_XML2()End Sub
Krok 2: Definujte proměnnou jako řetězec, kde budeme ukládat umístění souboru a další proměnnou pro sešit, jak je uvedeno níže.
kód:
Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookEnd Sub
Krok 3: nyní podobně jako v předchozím příkladu budeme nyní používat aplikace 2, jednu z aktualizací obrazovky a další pro zobrazení upozornění jako nepravdivých.
kód:
Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseEnd Sub
Krok 4: Nyní v definované proměnné XMLFile přiřadíme cestu k souboru XML.
kód:
Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"End Sub
Krok 5: podobně jako příklad-1, nyní aktualizujeme nastavit kód pro otevření souboru XML s cestou definovanou v proměnné XMLFile a načíst Import dat do seznamu.
kód:
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
Krok 6: Nyní znovu, aby aplikace display alert byla pravdivá.
kód:
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
Krok 7: Jakmile jsou data importována, zkopírujeme je do jiného sešitu z vybrané buňky A1: D1 podle počtu záhlaví dostupných v souboru XML.
kód:
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
Krok 8: konečně zavřete kód pomocí aplikace pro aktualizaci obrazovky jako TRUE.
kód:
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
Krok 9: Nyní, když spustíme tento kód, uvidíme, že data ze souboru XML budou importována do nového sešitu aplikace Excel, jak je uvedeno níže.
Pros VBA XML
- i když nevíte, jak vytvořit soubor XML a pracovat na něm, pomocí takových kódů VBA můžeme data extrahovat do kódu VBA nebo do Excelu.
- můžeme analyzovat část dat XML nebo úplná data do okna VBA pomocí odkazů na uzly.
věci k zapamatování
- každý odkaz na uzel má svou vlastní hodnotu a význam. Použití správného typu poznámky je velmi důležité pro každou podmínku.
- XML to VBA není omezen na kód, který jsme viděli ve výše uvedených příkladech.
- můžeme extrahovat jakýkoli typ dat pomocí kódu, který jsme viděli ve výše diskutovaných příkladech. Ale udržet správné umístění a cestu, která je snadno přístupná.
- můžeme také extrahovat data souboru XML, aniž bychom je otevřeli ze zdrojové možnosti karty vývojář. To nám pomůže získat data tak, jak jsou do sešitu aplikace Excel.
- Uložte písemný kód Excel soubor v makru povolen formátu excel, aby nedošlo ke ztrátě kódu.
doporučené články
Toto je průvodce XML VBA. Zde diskutujeme kroky k importu & přidat XML v Excelu VBA a jeho různé typy uzlů spolu s praktickými příklady a stahovatelnou šablonou Excelu. Můžete si také projít naše další navrhované články–
- VBA LBound
- VBA Get Cell Value
- VBA IsError
- VBA Solver
Leave a Reply