Gewusst wie: Extrahieren von Daten aus Word-Tabellen mit Excel VBA

October 10

Gewusst wie: Extrahieren von Daten aus Word-Tabellen mit Excel VBA

Visual Basic für Applikationen (VBA), Microsofts Skriptsprache für Excel und Word, durch den Benutzer dieser Programme und Skripts schreiben, die allgemeine Aufgaben wie den Zugriff auf Daten zu beschleunigen. Neben den Excel-Benutzer die Möglichkeit, Excel-Tabelle-Daten zu verwalten, bietet VBA auch eine Möglichkeit für den Zugriff auf Tabellen in Word-Dokumenten. VBA-Entwickler beziehen sich auf diese Fähigkeit von einem Office-Programm ausführen, ein anderes als "Automation." Ein Vorteil, das Automatisieren von Word-Datenextraktion bietet spart Zeit. Ohne Automatisierung Excel-Benutzer möglicherweise weitere zeitaufwändigen Methoden verwenden für Daten in Excel in Word einbinden.

Anweisungen

1 Erstellen Sie ein neues Dokument in Word durch Drücken von "Control-N." Klicken Sie im Menü "Einfügen" und klicken Sie auf das Symbol "Tabelle" im Bedienfeld "Tabelle". Jede Zelle klicken, um eine Tabelle und geben Sie dann die Daten in mindestens der obersten Zeile am weitesten links stehende Zelle. Speichern Sie das Dokument als "C:\WordTableData.doc", und schließen Sie Word. Diese Schritt erstellt Beispieldaten, die Sie extrahieren werde mit Excel.

2 Erstellen Sie ein neues Dokument in Excel, und drücken Sie die "Alt-F11" der integrierten Entwicklungsumgebung (IDE) von Visual Basic eingeben. Die IDE bietet die Möglichkeit für die manuelle Eingabe im Gegensatz zum Aufzeichnen von Makros in Excel VBA-Programme.

3 Klicken Sie auf "Einfügen" und dann "Module", um ein neues Modul für die Eingabe von Programmcode zu erstellen. Geben Sie den folgenden Code an einer beliebigen Stelle in das neue Modul:

Public Sub accessTable()

Set AppWD = CreateObject("Word.Application")

appWD.Documents.Open Filename:="C:\WordTableData.doc" _

ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False,

PasswordDocument:="", PasswordTemplate:="", Revert:=False, _

WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _

wdOpenFormatAuto

X = appWD.ActiveDocument.Tables(1). Rows(1). Cells(1)

MsgBox (X)

appWD.Quit

EndSub

Diese Unterroutine erstellt eine versteckte Instanz von Microsoft Word, dann wird verwendet, um ein Worddokument öffnen und den Wert einer Zelle in der ersten Tabelle des Dokuments zu erhalten.

4 Klicken Sie auf die IDE "Verweise" Element im Menü "Extras" und dann scrollen Sie die Liste der Objekte, bis Sie sehen "Microsoft Word Object Library". Setzen Sie ein Häkchen in das Kästchen links neben diesem Titel und schließen Sie dann das "Dialogfeld Verweise." Um auszuführen, muss Ihr Code zum Verknüpfen des Wortes virtuelle Objekte (z. B. Tabellen). Das Dialogfeld "Verweise" können Sie diese Verknüpfung zu erstellen.

5 Klicken Sie irgendwo in die "AccessTable"-Unterroutine, die Sie in Schritt 3 geschrieben, und drücken Sie "F5", um die Unterroutine ausführen. Nach einer kurzen Pause zeigt Excel ein Dialogfeld mit den Daten, die Sie in das Word-Dokument Tabelle in Schritt 1 eingegeben.

6 Geben Sie den folgenden neuen Code nach der Anweisung "Public Sub" im Unterprogramm "AccessTable":

Dim SomeRow, someColumn

SomeRow = Inputbox ("geben Sie die Zeile, die Sie möchten Daten aus zu ziehen.")

SomeColumn = Inputbox ("geben Sie die Spalte, die Sie möchten Daten aus zu ziehen.")

Diese neuen Aussagen und im nächsten Schritt können Sie wählen, welche Tabellenzelle, Extrahieren von Daten aus.

7 Ersetzen Sie den Anweisung Anfang mit "X AppWD =" mit folgender Anweisung:

X = appWD.ActiveDocument.Tables(1). Rows(someRow). Cells(someColumn)

8 Führen Sie die Unterroutine aus, wie in Schritt 5. Reagieren Sie auf die Ansagen für die Zeile und Spalte. Das überarbeitete Programm extrahiert Tabellendaten aus der Zelle, die Sie angegeben und in einem Dialogfeld angezeigt.