VBA XML

VBA XML

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.

kod VBA XML

kod VBA XML

drzewo XML VBA

drzewo XML VBA

kroki do zaimportowania & Dodaj XML w programie Excel VBA

Poniżej znajdują się przykłady XML w programie Excel przy użyciu kodu VBA.

możesz pobrać ten szablon VBA XML Excel tutaj – szablon VBA XML Excel

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.

Wstaw moduł

Wstaw moduł

Krok 2: Napisz podprocedurę w nazwie VBA XML dla definicji kodu.

Kod:

Sub VBA_XML()End Sub

przykład VBA XML 1-2

przykład VBA XML 1-2

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

przykład VBA XML 1-3

przykład VBA XML 1-3

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

przykład VBA XML 1-4

przykład VBA XML 1-4

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

przykład VBA XML 1-5

przykład VBA XML 1-5
Uwaga: Zachowaj plik XML w miejscu, które jest łatwo dostępne.

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

przykład VBA XML 1-6

przykład VBA XML 1-6

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

przykład VBA XML 1-7

przykład VBA XML 1-7

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

przykład VBA XML 1-8

przykład VBA XML 1-8

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 VBA XML 1-8

przykład VBA XML 1-8

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

przykład VBA XML 2-1

przykład VBA XML 2-1

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

przykład VBA XML 2-2

przykład VBA XML 2-2

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

przykład VBA XML 2-3

przykład VBA XML 2-3

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

przykład zdefiniowanej zmiennej 2-4

przykład zdefiniowanej zmiennej 2-4

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

przykład VBA XML 2-5

przykład VBA XML 2-5

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

przykład wyświetlania alertów 2-6

przykład wyświetlania alertów 2-6

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

przykład skoroszytu 2-7

przykład skoroszytu 2-7

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

przykład aktualizacji ekranu aplikacji 2-8

przykład aktualizacji ekranu aplikacji 2-8

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.

 przykład VBA XML 2-9

przykład VBA XML 2-9

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–

  1. VBA LBound
  2. VBA uzyskaj wartość komórki
  3. VBA IsError
  4. VBA Solver
0 akcje

Leave a Reply