VBA XML

Excel VBA XML
pełna forma XML jest eXtensible Markup Language, który jest podobny do pliku HTML, jest przeznaczony do przechowywania i transportu danych z różnych programów. Plik XML przechowuje dane, które zawierają podziały i separatory. Możemy stworzyć kod VBA, za pomocą którego możemy zaimportować dane z pliku XML do Excela. Aby zaimportować dane z pliku XML do dowolnego innego formatu, musimy ustawić pewne reguły, które mówią, jakiego rodzaju Dane i pola mogą być użyte w pliku XML. Aby utworzyć makro w VBA dla pliku XML, nie potrzebujemy obowiązkowo Notatnika XML w naszym systemie. Ale jeśli mamy, będzie nam łatwo odczytać plik XML dla danych, których potrzebujemy.
chociaż w Excelu mamy przepis importowania danych z pliku XML, ale za pomocą VBA możemy odczytać, zaimportować plik XML w Excelu.
Zobacz nasze kursy Demo I Filmy
wycena, Hadoop, Excel, aplikacje mobilne, tworzenie stron internetowych & wiele innych.
typy węzłów w VBA XML
w XML mamy wiele węzłów, które konstruktywnie pomagają w czytaniu i parsowaniu pliku XML do innych źródeł, takich jak Word lub Excel. Każdy element dokumentu odnosi się do niektórych z poniższych list węzłów.
- węzeł nadrzędny
- pierwsze dziecko
- ostatnie dziecko
- węzły podrzędne
- następne rodzeństwo
- poprzednie rodzeństwo
wszystkie wyżej wymienione węzły potwierdzają Typ jako , gdzie tylko węzły podrzędne są typ tablicy .
w tym przykładzie zobaczymy bardzo prosty kod VBA, aby uzyskać dostęp do pliku XML zapisanego w dowolnej lokalizacji danego systemu i załadować je do VBA. Zwykle, aby importować pliki XML w Excelu za pomocą VBA, mamy MSXML2.Obiekt DOMDocument, który pozwala nam przechodzić dane przez strukturę XML. Ale nie może to być użyte w tym przykładzie.
w tym celu musimy mieć plik XML, w którym możemy utworzyć strukturę danych w postaci schematu. Poniżej znajduje się zrzut ekranu schematu firmy, w którym mamy oddział pracownika z danymi pracownika, takimi jak imię, nazwisko, numer kontaktowy, identyfikator e-mail.


kroki do zaimportowania & Dodaj XML w programie Excel VBA
Poniżej znajdują się przykłady XML w programie Excel przy użyciu kodu VBA.
przykład #1
Krok 1: Najpierw przejdź do Wstaw zakładkę menu w VBA i otwórz moduł, w którym będziemy zapisywać dane poprzeczne kodu za pomocą XML, jak pokazano poniżej.

Krok 2: Napisz podprocedurę w nazwie VBA XML dla definicji kodu.
Kod:
Sub VBA_XML()End Sub

Krok 3: Jak już omówiliśmy, dla pliku XML będziemy potrzebować obiektu. Teraz zdefiniuj zmienną używając Dim jako ciąg znaków, który będzie używany do przechowywania nazwy pliku.
Kod:
Sub VBA_XML()Dim XMLFile As StringEnd Sub

Krok 4: Teraz użyjemy alertów wyświetlania aplikacji, które są używane do wyświetlania komunikatu alertu, jeśli wybrana ścieżka jest nieprawidłowa.
Kod:
Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseEnd Sub

Krok 5: Teraz umieścimy link lub lokalizację, w której trzymaliśmy plik XML i przypisamy go do zdefiniowanej zmiennej.
Kod:
Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"End Sub

Krok 6: Jak już wspomnieliśmy, otrzymamy pierwszy obiekt z MSXML2.DOMDoucment.
Kod:
Sub VBA_XML()Dim CusDoc As ObjectDim Base As ObjectSet CusDoc = CreateObject("MSXML2.DOMDoucment")End Sub

Krok 7: aby załadować dane pliku XML w programie Excel, musimy otworzyć ten plik XML, używając nazwy i lokalizacji, które zapisaliśmy w zmiennej pliku XML i wybrać opcję Załaduj jako Import do listy, jak pokazano poniżej.
Kod:
Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Workbooks.OpenXML Filename:=XMLFile, LoadOption:=xlXmlLoadImportToListEnd Sub

Krok 8: W końcu ponownie użyj opcji aplikacji, aby wyświetlić alert jako prawdziwy, jeśli taki istnieje.
Kod:
Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Workbooks.OpenXML Filename:=XMLFile, LoadOption:=xlXmlLoadImportToListApplication.DisplayAlerts = TrueEnd Sub

Krok 9: Teraz skompilujemy napisany kod, naciskając klawisz funkcyjny F8 i uruchamiamy go, jeśli nie ma błędu podczas kompilacji.
zobaczymy, że dane przechowywane w pliku XML nie są importowane do nowego skoroszytu, jak pokazano poniżej. Możemy pobrać dowolną długość danych pliku XML do Excela za pomocą tego prostego kodu VBA.

przykład # 2
istnieje inny sposób importowania danych z pliku XML przy użyciu kodu VBA, który jest również prosty. W tym celu możemy mieć inny moduł, który możemy również wprowadzić zmiany w tym samym module.
Krok 1: do tego ponownie wymagamy modułu i tam zapisujemy podprocedurę w nazwie VBA XML.
Kod:
Sub VBA_XML2()End Sub

Krok 2: Zdefiniuj zmienną jako ciąg znaków, w którym będziemy przechowywać lokalizację pliku i inną zmienną dla skoroszytu, jak pokazano poniżej.
Kod:
Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookEnd Sub

Krok 3: Teraz podobnie jak w poprzednim przykładzie użyjemy teraz 2 aplikacji, jednej z aktualizacji ekranu i innych dla alertów wyświetlania jako fałszywych.
Kod:
Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseEnd Sub

Krok 4: teraz w zdefiniowanej zmiennej XMLFile przypiszemy ścieżkę do pliku XML.
Kod:
Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"End Sub

Krok 5: podobnie jak w przykładzie-1, zaktualizujemy kod do otwarcia pliku XML ze ścieżką zdefiniowaną w zmiennej XMLFile i załadujemy Import danych do listy.
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

Krok 6: Teraz ponownie, aby umieścić aplikację Wyświetl alert jako TRUE.
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

Krok 7: Po zaimportowaniu danych skopiujemy je do innego skoroszytu z wybranej komórki A1:D1 zgodnie z liczbą nagłówków dostępnych w pliku XML.
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

Krok 8: W końcu Zamknij kod za pomocą aplikacji aktualizującej ekran jako TRUE.
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

Krok 9: Teraz, jeśli uruchomimy ten kod, zobaczymy, że dane z pliku XML zostaną zaimportowane do nowego skoroszytu programu Excel, Jak pokazano poniżej.

zalety VBA XML
- nawet jeśli nie wiesz, jak utworzyć plik XML i pracować na nim, używając takich kodów VBA, możemy wyodrębnić dane do kodu VBA lub w Excelu.
- możemy parsować część danych XML lub kompletne dane do okna VBA za pomocą odniesień do węzłów.
rzeczy do zapamiętania
- każde odniesienie do węzła ma swoją wartość i znaczenie. Użycie odpowiedniego typu notatki jest bardzo ważne dla każdego warunku.
- XML do VBA nie ogranicza się do kodu, który widzieliśmy w powyższych przykładach.
- możemy wyodrębnić dowolny typ danych za pomocą kodu, który widzieliśmy w powyższych przykładach. Ale zachowaj właściwą lokalizację i ścieżkę, która jest łatwo dostępna.
- możemy również wyodrębnić dane pliku XML bez otwierania go z opcji źródła w zakładce deweloper. Pomoże nam to uzyskać dane w postaci skoroszytu programu Excel.
- Zapisz napisany kod pliku Excel w formacie excel z obsługą makr, aby uniknąć utraty kodu.
Polecane artykuły
jest to przewodnik po VBA XML. Tutaj omówimy kroki importowania & Dodaj XML w Excelu VBA i jego różne typy węzłów wraz z praktycznymi przykładami i szablonem Excela do pobrania. Możesz również przejrzeć nasze inne sugerowane artykuły–
- VBA LBound
- VBA uzyskaj wartość komórki
- VBA IsError
- VBA Solver
Leave a Reply