Excel VBA GetObject

Wie der Name schon sagt, müssen wir mit VBA GetObject einen Code zum Abrufen oder Erstellen eines Objekts erstellen. Tatsächlich handelt es sich jedoch um den Vorgang, bei dem die Tabellen aus einem beliebigen Wort in eine Excel-Datei umgewandelt werden. In VBA GetObject rufen wir die Daten aus einer Word-Datei ab, indem wir den Speicherort angeben und eine beliebige Anzahl von Tabellen aus diesem Word in die Excel-Tabelle einfügen.

Syntax von VBA GetObject

Die Syntax wird wie folgt erklärt:

  • PathName = Hier geben wir den Pfad zum Word-Dokument an, in dem es aufbewahrt wird. Dieses Feld ist optional.
  • Klasse = Hier müssen wir die Klasse der Objektfunktion definieren. Dieser ist zu optional. Wenn wir den Pfadnamen jedoch nicht in der Syntax definieren, muss Class definiert werden.

Beide Argumente der Syntax sind optional. Aber jeder von ihnen sollte definiert werden.

Hier verwenden wir appname.objecttype, um die Klasse zu definieren. AppName ist die Anwendung oder der Dateityp, aus der die Daten abgerufen werden, und Objecttype ist die Art der Dateianwendung, die wir verwenden werden.

Beispiel für die GetObject-Funktion in Excel VBA

Wir werden sehen, wie man die Daten, die in der Form einer Tabelle vorliegen, in ein Word-Dokument holt und diese Daten in ein Excel-Arbeitsblatt anfügt.

Sie können diese VBA GetObject Excel-Vorlage hier herunterladen - VBA GetObject Excel-Vorlage

Dafür benötigen wir solche Daten in Word-Datei. Hier haben wir eine Word-Datei, die 2 Tabellen mit Mitarbeiternamen und Mitarbeiter-ID enthält.

Wir haben diese Datei auf unserem lokalen Laufwerk gespeichert, auf das Sie einfach zugreifen können. Führen Sie die folgenden Schritte aus, um die GetObject-Funktion in Excel VBA zu verwenden.

Schritt 1: Gehen Sie zum VBA-Fenster und öffnen Sie ein Modul über die Registerkarte Einfügen (siehe unten).

Schritt 2: Schreiben Sie in das neu geöffnete Modul die Unterkategorie von VBA GetObject, oder wählen Sie je nach Bedarf einen anderen Namen aus.

Schritt 3: Definieren Sie zunächst die Variable 2 Object, um auf das von VBA GetObject vorbereitete Objekt zuzugreifen.

Schritt 4: Wir benötigen eine andere Variable, für die wir den Speicherort von File als String speichern.

Schritt 5: Um Unterbrechungen im Fehlerfall zu vermeiden, fahren wir mit dem nächsten Schritt fort.

Schritt 6: Jetzt würden wir die GetObject-Funktion verwenden und sie als WordFile- Objekt festlegen . Wenn Sie Path leer lassen, wird die Klasse als Word.Application definiert, wobei Word die Anwendung von Microsoft ist.

Schritt 7: Um Fehler Nr. 429 zu vermeiden, der normalerweise in diesem Fall auftritt, werden wir ihn löschen, sobald er auftritt.

Schritt 8: Machen Sie nun die erstellte Objektvariable WordFile sichtbar.

Schritt 9: Da wir den Pfad nicht definiert haben, weisen wir StrDoc den Dateispeicherort zusammen mit der Erweiterung zu.

Schritt 10: Wenn in der Word-Datei nichts gefunden wurde, wird möglicherweise die Meldung "Keine Daten verfügbar" oder "Dokument nicht gefunden" angezeigt. Und dies würde in der If-End If-Schleife erfolgen.

Schritt 11: Aktivieren Sie nun die Word-Datei.

Schritt 12: Führen Sie das gleiche Verfahren zum Festlegen von WordDoc aus. Wenn WordDoc nichts ist, öffnen wir die Datei an dem Ort, an dem sie aufbewahrt wird.

Schritt 13: Jetzt müssen wir die Variablen definieren, die beim Zugriff auf die Tabelle aus dem Word-Dokument helfen. Auf diese Weise erstellen wir eine Tabelle mit Zeilen und Spalten.

Schritt 14: Wie wir alle wissen, ist der Scheitelpunkt von Zellen zweidimensional. Ausgehend von der ersten Zelle benötigen wir also zwei Variablen, in denen wir den Ort definieren, von dem aus wir unsere Tabelle in Excel starten müssen. Hier haben wir die Position bei (1, 1) betrachtet, die sich in der 1. Zelle des Blatts befindet.

Schritt 15: In diesem Stadium müssen wir die Anzahl der Tabellen in der Word-Datei überprüfen. Und wenn keine Tabellen gefunden werden, sollten wir die Nachricht dafür bekommen.

Schritt 16: In diesem Schritt müssen wir über ein Word-Dokument auf die Tabelle zugreifen und diese in einer Excel-Datei zuordnen. Dazu verwenden wir für jede Zeile und Spalte die For-Schleife .

Schritt 17: Zuletzt beenden wir das Dokument, sobald die Daten von Word zu Excel-Datei angehängt wurden, ohne die Datei zu speichern.

Schritt 18: Führen Sie nun den obigen Code aus, indem Sie die Taste F5 drücken oder auf die Schaltfläche Wiedergabe klicken.

Wir werden sehen, dass die Daten, die wir zu Beginn des Artikels gesehen haben und die in 2 verschiedenen Tabellen getrennt waren, jetzt in einer einzigen Tabelle im Excel-Blatt angehängt sind.

Unten ist der vollständige Code in einer Sequenz:

Code:

 Sub VBA_GetObject () WordFile als Objekt dimen WordDoc als Objekt dimen StrDoc als String dimen Bei Fehler Resume Next Set WordFile = GetObject (, "Word.Application") If Err.Number = 429 Then Err.Clear Set WordFile = CreateObject ("Word. Application ") End If WordFile.Visible = True StrDoc =" D: \ Input \ Test.docx "If Dir (StrDoc) =" "Dann MsgBox StrDoc & vbCrLf &" Not Found in erwähntem Pfad "& vbCrLf &" C: \ Eingabeposition ", vbExclamation, " Dokumentname nicht gefunden "Beenden Unterende Wenn WordFile.Activate WordDoc = WordFile.Documents (StrDoc) Wenn WordDoc nichts ist, dann WordDoc = WordFile.Documents.Open (" D: \ Input \ Test. docx ") WordDoc.Activate Dim Tble As 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 Then MsgBox" No Tables Avaiable ", vbExclamation, " Nothing To Import "Exit-Unterende If For i = 1 To Tble With .Tables (i) Für RowWord = 1 To .Rows.Count Für ColWord = 1 To .Columns.Count Cells (A, B) = WorksheetFunctio n.Clean (.cell (RowWord, ColWord) .Range.Text) B = B + 1 Nächstes ColWord B = 1 A = A + 1 Nächstes RowWord End With Next End With WordDoc. Close Savechanges: = False WordFile.Quit Set WordDoc = Nothing Set WordFile = Nothing End Sub 

Vorteile von Excel VBA GetObject

  • Es ist sehr nützlich, um große Datenmengen von einer Word-Datei in eine Excel-Datei zu importieren.
  • Wir können jede Art von Daten aus jeder Art von Datei importieren, indem wir deren Erweiterung ändern.

Dinge, an die man sich erinnern sollte

  • Schließen Sie alle Wortdateien, bevor Sie den Code ausführen.
  • Geben Sie der verwendeten Datei die richtige Erweiterung.
  • GetObject kann nicht verwendet werden, um auf den Verweis auf class zuzugreifen.

Empfohlene Artikel

Dies ist eine Anleitung zu VBA GetObject. Hier wird erläutert, wie die GetObject-Funktion in VBA zum Abrufen der Daten aus einer Word-Datei in das Excel-Arbeitsblatt verwendet wird. Außerdem wird ein praktisches Beispiel und eine herunterladbare Excel-Vorlage vorgestellt. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. VBA GetOpenFileName
  2. KPI-Dashboard in Excel
  3. VBA-Arbeitsmappe Öffnen
  4. Excel Word Count
  5. Excel VBA On Error Resume Weiter

Kategorie: