Excel VBA GetObject

VBA GetObject, jak sama nazwa, wydaje się, że musimy stworzyć kod do pobrania lub utworzenia obiektu. Ale w rzeczywistości jest to proces uzyskiwania tabel z dowolnego słowa do pliku Excel. W VBA GetObject pobieramy dane z pliku słowa, umieszczając lokalizację, w której jest przechowywany, i dołączamy dowolną liczbę tabel z tego słowa do arkusza Excel.

Składnia VBA GetObject

Składnia jest wyjaśniona, jak pokazano poniżej:

  • PathName = Tutaj podamy ścieżkę do dokumentu Word, w którym jest przechowywany. To pole jest opcjonalne.
  • Klasa = Tutaj musimy zdefiniować funkcję klasy obiektu. Ten jest zbyt opcjonalny. Ale jeśli nie zdefiniujemy PathName w składni, klasa będzie musiała zdefiniować.

Oba argumenty składni są opcjonalne. Ale każdy z nich powinien zostać zdefiniowany.

Tutaj będziemy używać appname.objecttype do zdefiniowania klasy. AppName będzie aplikacją lub rodzajem pliku, z którego będziemy pobierać dane, a Objecttype będzie rodzajem aplikacji, z której będziemy korzystać.

Przykład funkcji GetObject w Excelu VBA

Zobaczymy, jak pobrać dane w postaci tabeli w dokumencie tekstowym i dołączyć te dane do arkusza programu Excel.

Możesz pobrać ten szablon VBA GetObject Excel tutaj - Szablon VBA GetObject Excel

W tym celu wymagamy takich danych w pliku Word. Poniżej znajduje się plik słów, który zawiera 2 tabele z nazwiskami pracowników i identyfikatorami pracowników.

Zapisaliśmy ten plik gdzieś na naszym lokalnym dysku, do którego można łatwo uzyskać dostęp. Wykonaj poniższe kroki, aby użyć funkcji GetObject w programie Excel VBA.

Krok 1: Przejdź do okna VBA i otwórz moduł z karty menu Wstaw, jak pokazano poniżej.

Krok 2: W nowo otwartym module napisz podkategorię VBA GetObject lub możesz wybrać dowolną inną nazwę według potrzeb.

Krok 3: Najpierw zdefiniuj zmienną 2 Object, aby uzyskać dostęp do obiektu przygotowanego przez VBA GetObject.

Krok 4: Potrzebowalibyśmy innej zmiennej, dla której będziemy przechowywać lokalizację pliku jako ciąg.

Krok 5: Aby uniknąć przerwy w przypadku wystąpienia błędu, będziemy kontynuować wznawianie następnego kroku.

Krok 6: Teraz użyjemy funkcji GetObject i ustawimy ją jako obiekt WordFile . Pozostawiając ścieżkę pustą, zdefiniujemy klasę jako Word.Application, gdzie Word jest aplikacją Microsoft.

Krok 7: Aby uniknąć błędu o numerze 429, który zwykle występuje w tym przypadku, usuniemy go, gdy tak się stanie.

Krok 8: Teraz pokaż utworzoną zmienną obiektową WordFile .

Krok 9: Ponieważ nie zdefiniowaliśmy ścieżki, przypiszemy lokalizację pliku do StrDoc wraz z rozszerzeniem.

Krok 10: Jeśli nie znaleźliśmy niczego w pliku słowa, powinniśmy otrzymać komunikat „Brak dostępnych danych” lub „Nie znaleziono dokumentu”. I byłoby to zrobione w pętli If-End If.

Krok 11: Teraz aktywuj plik Word.

Krok 12: Wykonaj tę samą procedurę, aby ustawić WordDoc. Jeśli WordDoc jest niczym, wówczas otworzymy plik z miejsca, w którym jest przechowywany.

Krok 13: Teraz będziemy musieli zdefiniować zmienne, które pomogą uzyskać dostęp do tabeli z dokumentu Word. W ten sposób utworzymy tabelę z rzędami i kolumnami.

Krok 14: Jak wszyscy wiemy, wierzchołek komórek jest dwuwymiarowy. Rozpoczynając od 1. komórki, potrzebowalibyśmy 2 zmiennych, w których zdefiniujemy lokalizację, od której musimy zacząć naszą tabelę w Excelu. Tutaj rozważaliśmy tę pozycję w (1, 1), która znajduje się w pierwszej komórce arkusza.

Krok 15: Na tym etapie musimy sprawdzić liczbę tabel w pliku Word. A jeśli nie zostaną znalezione tabele, powinniśmy otrzymać komunikat.

Krok 16: W tym kroku musimy uzyskać dostęp do tabeli z dokumentu Word i zmapować ją w pliku Excel. W tym celu użyjemy pętli For dla każdego wiersza i kolumny.

Krok 17: W końcu wyjdziemy z dokumentu, gdy doda dane ze słowa do pliku Excela bez zapisywania pliku.

Krok 18: Teraz uruchom powyższy kod, naciskając klawisz F5 lub klikając przycisk Odtwórz.

Zobaczymy, dane, które widzieliśmy na początku artykułu, który był osobny w 2 różnych tabelach, teraz są dołączane do pojedynczej tabeli w arkuszu programu Excel.

Poniżej znajduje się pełny kod w jednej sekwencji:

Kod:

 Sub VBA_GetObject () Dim WordFile As Object Dim WordDoc As Object Dim StrDoc As String Po błędzie Wznów Dalej Ustaw WordFile = GetObject (, „Word.Application”) Jeśli Err.Number = 429 Następnie Err.Clear Ustaw WordFile = CreateObject („Word. Aplikacja ”) Koniec Jeśli WordFile.Visible = True StrDoc =„ D: \ Input \ Test.docx ”If Dir (StrDoc) =" „Następnie MsgBox StrDoc i vbCrLf i„ Nie znaleziono we wspomnianej ścieżce ”oraz vbCrLf i„ C: \ Input Location ”, vbExclamation, „ Nie znaleziono nazwy dokumentu ”Wyjdź z Sub End, jeśli WordFile.Activate Ustaw WordDoc = WordFile.Documents (StrDoc) Jeśli WordDoc jest niczym, to ustaw WordDoc = WordFile.Documents.Open („ D: \ Input \ Test. docx ") WordDoc.Activate Dim Tble Jako Integer Dim RowWord As Long Dim ColWord As Integer Dim A As Long Dim B As Long A = 1 B = 1 With WordDoc Tble = WordDoc.Tables.Count If Tble = 0 Następnie MsgBox" Brak tabel Dostępny ”, vbExclamation, „ Nic do zaimportowania ”Wyjdź z Sub Endu, jeśli dla i = 1 do Tble With .Tables (i) dla RowWord = 1 do .Rows.Count For ColWord = 1 do .Columns.Count Cells (A, B) = WorksheetFunctio n.Clean (.cell (RowWord, ColWord) .Range.Text) B = B + 1 Następny ColWord B = 1 A = A + 1 Następny RowWord Koniec z następnym końcem z WordDoc.Zamknij Savechanges: = False WordFile.Zamknij zestaw WordDoc = Nic nie ustaw WordFile = Nic nie kończy Sub 

Plusy Excel VBA GetObject

  • Jest to bardzo przydatne w przypadku importowania dużego zestawu danych z pliku Word do pliku Excel.
  • Możemy zaimportować dowolny rodzaj danych z dowolnego rodzaju pliku, po prostu zmieniając jego rozszerzenie.

Rzeczy do zapamiętania

  • Zamknij wszystkie pliki słów przed uruchomieniem kodu.
  • Podaj odpowiednie rozszerzenie używanego pliku.
  • GetObject nie może być użyty do uzyskania dostępu do odwołania do klasy.

Polecane artykuły

To jest przewodnik po VBA GetObject. Tutaj omawiamy, jak korzystać z funkcji GetObject w VBA, aby pobrać dane z pliku słowa do arkusza programu Excel, wraz z praktycznym przykładem i szablonem programu Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. VBA GetOpenFileName
  2. Pulpit nawigacyjny KPI w programie Excel
  3. Skoroszyt VBA Otwarty
  4. Excel Word Count
  5. Excel VBA o błędzie Wznów dalej

Kategoria: