VBA XML
Excel VBA XML
de volledige vorm van XML is uitbreidbare opmaaktaal die veel lijkt op een HTML-bestand, is ontworpen om de gegevens van verschillende programma ‘ s op te slaan en te transporteren. XML-bestand slaat de gegevens die de splitsingen en scheidingstekens omvat. We kunnen een VBA-code maken waarmee we de gegevens uit het XML-bestand in Excel kunnen importeren. Om de gegevens uit het XML-bestand naar een ander formaat te importeren, moeten we een aantal regels instellen die aangeven wat voor soort gegevens en velden in het XML-bestand kunnen worden gebruikt. Om een macro in VBA voor het XML-bestand te maken, hebben we geen XML-Kladblok in ons systeem nodig. Maar als we het hebben zal het voor ons gemakkelijk zijn om het XML-bestand te lezen voor de gegevens die we nodig hebben.
hoewel in Excel, hebben we een voorziening van het importeren van de gegevens van XML-bestand, maar met behulp van VBA, kunnen we lezen, importeren van het XML-bestand in Excel.
Bekijk onze Demo cursussen en video ‘ s
Valuation, Hadoop, Excel, Mobile Apps, Web Development & nog veel meer.
typen knooppunten in VBA XML
in XML hebben we een verscheidenheid aan knooppunten die constructief helpt bij het lezen en ontleden van het XML-bestand naar andere bronnen zoals Word of Excel. Elk DocumentElement verwijst naar enkele van de onderstaande knooppuntlijsten.
- Ouderknooppunt
- eerste kind
- laatste kind
- Dochterknooppunten
- volgende Broer / Zus
- vorige Broer / Zus
alle bovengenoemde knopen bevestigen het type als, waarbij alleen Dochterknooppunten het array-type zijn .
in dit voorbeeld zien we een zeer eenvoudige VBA-Code om toegang te krijgen tot het XML-bestand dat op elke locatie van het individuele systeem is opgeslagen en deze in VBA te laden. Meestal hebben we MSXML2 om XML-bestanden in Excel te importeren met VBA.DOMDocument object om ons in staat te stellen om de gegevens dwars door XML structuur. Maar dit mag niet worden gebruikt in dit voorbeeld.
hiervoor moeten we een XML-bestand hebben waarin we een datastructuur in de vorm van Schema kunnen maken. Hieronder is de screenshot van het bedrijf schema waar onder dat we werknemer tak met de werknemer gegevens zoals voornaam, achternaam, contactnummer, e-ID.
stappen voor importeren & voeg XML toe in Excel VBA
hieronder zijn de voorbeelden van XML in Excel met behulp van de VBA-Code.
Voorbeeld # 1
Stap 1: Ga eerst naar het tabblad menu Invoegen in VBA en open een Module waar we de code transversale gegevens door XML zullen schrijven zoals hieronder getoond.
in Stap 2: Schrijf de subprocedure in de naam van VBA XML voor de definitie van de code.
Code:
Sub VBA_XML()End Sub
Stap 3: zoals we al hebben besproken, Voor het XML-bestand hebben we Object nodig. Dus, definieer nu een variabele met behulp van DIM als tekenreeks die zal worden gebruikt voor het opslaan van de bestandsnaam.
Code:
Sub VBA_XML()Dim XMLFile As StringEnd Sub
Stap 4: Nu zullen we een applicatie display waarschuwingen gebruiken die wordt gebruikt voor het tonen van het waarschuwingsbericht als het gekozen pad onjuist is.
Code:
Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseEnd Sub
Stap 5: nu zullen we de link of locatie plaatsen waar we het XML-bestand hebben bewaard en deze toewijzen aan de gedefinieerde variabele.
Code:
Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"End Sub
Stap 6: Zoals we besproken hebben, krijgen we het eerste Object met MSXML2.DOMDoucment.
Code:
Sub VBA_XML()Dim CusDoc As ObjectDim Base As ObjectSet CusDoc = CreateObject("MSXML2.DOMDoucment")End Sub
Stap 7: om de gegevens van het XML-bestand in Excel te laden, moeten we dat XML-bestand openen met behulp van de naam en locatie die we hebben opgeslagen in de XML-Bestandsvariabele en selecteer de optie laden als importeren naar lijst zoals hieronder getoond.
Code:
Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Workbooks.OpenXML Filename:=XMLFile, LoadOption:=xlXmlLoadImportToListEnd Sub
Stap 8: Eindelijk, opnieuw gebruik maken van de toepassing optie om de waarschuwing weer te geven als waar als er sprake is.
Code:
Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Workbooks.OpenXML Filename:=XMLFile, LoadOption:=xlXmlLoadImportToListApplication.DisplayAlerts = TrueEnd Sub
stap 9: nu zullen we de geschreven code compileren door op de F8 functionele toets te drukken en deze uit te voeren, als er geen fout is gevonden tijdens de compilatie.
we zullen zien dat de gegevens die zijn opgeslagen in het XML-bestand niet worden geïmporteerd in een nieuwe werkmap zoals hieronder wordt getoond. We kunnen elke lengte van gegevens van XML-bestand ophalen in Excel met behulp van deze eenvoudige VBA-Code.
Voorbeeld #2
er is een andere manier om de gegevens van een XML-bestand te importeren met behulp van de VBA-Code die ook eenvoudig is. Hiervoor kunnen we een andere module van we kunnen de wijzigingen in dezelfde module ook.
Stap 1: hiervoor zouden we opnieuw een module nodig hebben en daar de subprocedure schrijven in de naam van VBA XML.
Code:
Sub VBA_XML2()End Sub
Stap 2: Definieer een variabele als tekenreeks waar we de bestandslocatie en een andere variabele voor de werkmap opslaan zoals hieronder weergegeven.
Code:
Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookEnd Sub
Stap 3: nu vergelijkbaar met het vorige voorbeeld zullen we nu gebruik maken van 2 toepassingen, een van het scherm bijwerken en andere voor weergave waarschuwingen Als FALSE.
Code:
Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseEnd Sub
Stap 4: nu in de gedefinieerde variabele XMLFile, zullen we het pad van het XML-bestand toewijzen.
Code:
Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"End Sub
Stap 5: net als bij voorbeeld-1, zullen we nu bijwerken stel de code voor het openen van XML-bestand met het pad gedefinieerd in xmlfile variabele en laad de gegevens importeren naar lijst.
Code:
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
Stap 6: Nu opnieuw om de Display alert applicatie als waar te zetten.
Code:
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
Stap 7: Zodra de gegevens zijn geïmporteerd, kopiëren we dat naar een andere werkmap uit de geselecteerde cel A1:D1 volgens het aantal headers dat beschikbaar is in het XML-bestand.
Code:
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
Stap 8: sluit eindelijk de code met behulp van het scherm bijwerken applicatie als waar.
Code:
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
stap 9: als we deze code nu uitvoeren, zien we dat de gegevens uit het XML-bestand worden geïmporteerd in een nieuwe Excel-werkmap zoals hieronder weergegeven.
voors van VBA XML
- zelfs als u niet weet hoe u een XML-bestand maakt en eraan werkt, met behulp van dergelijke VBA-codes, kunnen we de gegevens extraheren in VBA-Code of in Excel.
- we kunnen een deel van XML-gegevens of volledige gegevens in het VBA-venster ontleden met behulp van knooppuntverwijzingen.
te onthouden dingen
- elke knooppuntreferentie heeft zijn eigen waarde en betekenis. Het gebruik van het juiste notitietype is erg belangrijk voor elke conditie.
- XML naar VBA is niet beperkt tot de code die we in de bovenstaande voorbeelden hebben gezien.
- we kunnen elk type gegevens extraheren met behulp van de code die we in de hierboven besproken voorbeelden hebben gezien. Maar houd de juiste locatie en het pad dat gemakkelijk toegankelijk is.
- we kunnen ook de XML-bestandsgegevens extraheren zonder deze te openen vanuit de bronoptie van het tabblad Ontwikkelaar. Dit zal ons helpen om de gegevens zoals deze in de Excel-werkmap te krijgen.
- sla het geschreven code Excel-bestand op in Macro-enabled excel-formaat, om te voorkomen dat de code verloren gaat.
Aanbevolen artikelen
dit is een leidraad voor de VBA XML. Hier bespreken we stappen om te importeren & voeg XML toe in Excel VBA en de verschillende soorten knooppunten, samen met praktische voorbeelden en downloadbare excel-sjabloon. U kunt ook door onze andere voorgestelde artikelen–
- VBA LBound
- VBA krijg celwaarde
- VBA IsError
- VBA Solver
Leave a Reply