Tutorial: Word-Formulardaten automatisch nach Excel exportieren
Hier ist ein ausführliches Tutorial, wie du Daten aus mehreren Word-Formularen automatisch nach Excel extrahieren kannst.
Daten aus mehreren Word-Dokumenten effizient extrahieren
Wenn du Dutzende oder Hunderte von Word-Formularen (z. B. Umfragen, Anträge oder Berichte) hast, ist das manuelle Abtippen in Excel zeitaufwendig und fehleranfällig. In diesem Tutorial zeige ich dir zwei Wege: Eine einfache Methode für ältere Formulare und eine Profi-Lösung mittels VBA-Makro für moderne Inhaltssteuerelemente.
Teil 1: Voraussetzungen schaffen
Damit Daten extrahiert werden können, muss dein Word-Dokument echte Formularfelder enthalten.
- Entwicklertools aktivieren:
- Öffne Word.
- Rechtsklick auf das Menüband (Ribbon) -> Menüband anpassen.
- Setze rechts einen Haken bei Entwicklertools.
- Formulartypen:
- Inhaltssteuerelemente: Die moderne Variante (empfohlen).
- Legacy-Formularfelder: Die alte Variante (oft in älteren .doc-Dateien).
Teil 2: Methode A – Der integrierte Weg (CSV-Export)
Diese Methode eignet sich, wenn du "Legacy-Formularfelder" verwendest.
- Öffne das Word-Dokument.
- Gehe auf Datei > Optionen > Erweitert.
- Scrolle nach unten zum Bereich Speichern.
- Aktiviere die Checkbox Nur Formulardaten als durch Trennzeichen getrennte Textdatei speichern.
- Speichere das Dokument nun als .txt.
- Diese .txt-Datei kannst du in Excel über den Reiter Daten > Aus Text/CSV importieren.
Nachteil: Das muss für jedes Dokument einzeln gemacht werden. Für eine Automatisierung vieler Dateien nutze Methode B.
Teil 3: Methode B – Vollautomatisch per VBA (Profi-Lösung)
Diese Methode durchsucht einen ganzen Ordner voller Word-Dateien und schreibt die Daten automatisch in eine Excel-Tabelle.
Schritt 1: Den Ordner vorbereiten
Speichere alle Word-Formulare, die du auslesen möchtest, in einem einzigen Ordner (z. B. C:\Formulare\).
Schritt 2: Das Makro in Excel erstellen
- Öffne eine neue Excel-Datei.
- Drücke
ALT + F11, um den VBA-Editor zu öffnen. - Gehe auf Einfügen > Modul.
- Kopiere den folgenden Code in das Fenster:
Sub WordDatenExtrahieren()
Dim wdApp As Object
Dim wdDoc As Object
Dim strFolder As String
Dim strFile As String
Dim i As Integer
' Ordnerpfad anpassen (Wichtig: Backslash am Ende!)
strFolder = "C:\Dein\Pfad\Zu\Den\Dokumenten\"
Set wdApp = CreateObject("Word.Application")
wdApp.Visible = False ' Word im Hintergrund laufen lassen
strFile = Dir(strFolder & "*.docx")
i = 2 ' Start in Zeile 2 von Excel
' Überschriften in Excel setzen
Cells(1, 1).Value = "Dateiname"
Cells(1, 2).Value = "Vorname" ' Beispiel-Feld 1
Cells(1, 3).Value = "Nachname" ' Beispiel-Feld 2
Do While strFile <> ""
Set wdDoc = wdApp.Documents.Open(strFolder & strFile)
Cells(i, 1).Value = strFile
' Hier die Namen deiner Inhaltssteuerelemente (Tag) eintragen
' Beispiel für Inhaltssteuerelemente:
On Error Resume Next
Cells(i, 2).Value = wdDoc.SelectContentControlsByTag("Vorname").Item(1).Range.Text
Cells(i, 3).Value = wdDoc.SelectContentControlsByTag("Nachname").Item(1).Range.Text
On Error GoTo 0
wdDoc.Close SaveChanges:=False
strFile = Dir
i = i + 1
Loop
wdApp.Quit
MsgBox "Fertig! " & i - 2 & " Dokumente wurden exportiert."
End Sub
Schritt 3: Das Makro anpassen
- Pfad: Ändere
C:\Dein\Pfad\...in den Pfad zu deinem Ordner. - Tags: In Word kannst du jedem Formularfeld in den Eigenschaften einen "Tag" (Markierung) geben. Ersetze im Code
"Vorname"und"Nachname"durch die Tags, die du in deinem Word-Formular vergeben hast.
Schritt 4: Ausführen
- Drücke
F5oder klicke auf das "Play"-Symbol im VBA-Editor. - Excel öffnet nun im Hintergrund jedes Dokument, kopiert den Inhalt der Felder und schließt es wieder.
Teil 4: Alternative – Power Automate (Die moderne Cloud-Lösung)
Falls dein Unternehmen Microsoft 365 nutzt, ist Power Automate der eleganteste Weg:
- Erstelle einen Flow: "Wenn eine Datei in einem OneDrive/SharePoint Ordner erstellt wird".
- Nutze die Aktion "Word Online (Business) – Formulardaten auslesen".
- Nutze die Aktion "Excel Online – Zeile hinzufügen".
- Vorteil: Dies geschieht in Echtzeit. Sobald jemand ein Formular hochlädt, erscheint die Zeile automatisch in deiner Excel-Liste.
Tipps für den Erfolg
- Einheitlichkeit: Achte darauf, dass alle Word-Dokumente auf derselben Vorlage basieren. Wenn Felder umbenannt wurden, findet das Makro sie nicht.
- Dateiformat: Verwende
.docx. Ältere.doc-Dateien erfordern im Makro den BefehlFormFields("Name")stattSelectContentControlsByTag. - Sicherheit: Falls das Makro nicht startet, prüfe unter Datei > Optionen > Trust Center, ob Makros aktiviert sind.
Mit dieser Anleitung sparst du dir Stunden an manueller Arbeit! Viel Erfolg beim Automatisieren.