Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Formularfelder aus Word auslesen

Formularfelder aus Word auslesen
12.04.2005 08:37:58
Markus
Hallo zusammen,
habe mal eine ziemlich spezielle Frage. Ist es möglich aus Wordformular Textfeldern den Inhalt auszulesen und in Excelzellen oder in VBA als Variablen wiederzugeben? Wenn ja, wie mache ich das? Hätte auch ein konkretes Beispiel parat....
Danke
Markus
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formularfelder aus Word auslesen
12.04.2005 12:03:32
Dani
Hallo Markus,
ich habe leider auch noch keinen Weg gefunden direkt auf die Formularfelder zuzugreifen. Es gibt aber eine Möglichkeit das Problem indirekt zu lösen. Der folgende Code öffnet das Worddokument und speichert die Formularfeldinhalte durch Semikolons getrennt als Textfile. Auf diese Textfiles kannst du aber einfach zugreifen und die Daten einlesen. Du kannst den Code ja noch erweitern und die Temporären Textfiles nach dem auslesen löschen.
Hier der Code


      
Private Sub cmdStart_Click()
Dim appWD As Word.Application
Dim Pfad As String
Dim File As String
Set appWD = CreateObject("Word.Application")
appWD.Visible = 
False
Pfad = Inputbox("Pfad des Wordfiles eingeben")
File = Dir(Pfad)
Do
    appWD.Documents.Add (Pfad & File)
    appWD.ActiveDocument.SaveFormsData = 
True
    File = Left(File, (Len(File) - 3))
    appWD.ActiveDocument.SaveAs ("C:\dein Speicherpfad\") & File & "txt"
    appWD.ActiveDocument.SaveFormsData = 
False
    appWD.ActiveDocument.Close
    File = Dir()
Loop Until File = ""
appWD.Quit
Set appWD = Nothing
MsgBox "Fertig!"
End Sub 
Ich hoffe das hilft dir ein wenig weiter
Gruss
Dani
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Formularfelder aus Word in Excel auslesen


Schritt-für-Schritt-Anleitung

Um Formularfelder aus Word auszulesen und die Inhalte in Excel zu verwenden, kannst Du den folgenden VBA-Code nutzen. Dieser öffnet das Word-Dokument und speichert die Inhalte der Formularfelder in einer Textdatei, die dann leicht in Excel importiert werden kann.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu, indem Du mit der rechten Maustaste auf „VBAProject“ klickst und „Einfügen“ > „Modul“ auswählst.
  3. Kopiere den folgenden Code in das Modul:
Private Sub cmdStart_Click()
    Dim appWD As Word.Application
    Dim Pfad As String
    Dim File As String

    Set appWD = CreateObject("Word.Application")
    appWD.Visible = False
    Pfad = InputBox("Pfad des Wordfiles eingeben")
    File = Dir(Pfad)

    Do
        appWD.Documents.Add (Pfad & File)
        appWD.ActiveDocument.SaveFormsData = True
        File = Left(File, (Len(File) - 3))
        appWD.ActiveDocument.SaveAs ("C:\dein Speicherpfad\" & File & ".txt")
        appWD.ActiveDocument.SaveFormsData = False
        appWD.ActiveDocument.Close
        File = Dir()
    Loop Until File = ""

    appWD.Quit
    Set appWD = Nothing
    MsgBox "Fertig!"
End Sub
  1. Ersetze "C:\dein Speicherpfad\" mit dem gewünschten Speicherort der Textdatei.
  2. Führe das Makro aus, um die Daten aus dem Word-Dokument zu extrahieren.

Häufige Fehler und Lösungen

  • Fehler: Word-Dokument wird nicht gefunden

    • Überprüfe den eingegebenen Pfad. Stelle sicher, dass der Pfad korrekt ist und das Dokument existiert.
  • Fehler: Keine Berechtigung zum Schreiben

    • Stelle sicher, dass Du die erforderlichen Berechtigungen hast, um im angegebenen Speicherort zu schreiben.
  • Problem: Formularfelder sind nicht gefüllt

    • Überprüfe, ob die Formularfelder in Word korrekt ausgefüllt wurden, bevor Du das Makro ausführst.

Alternative Methoden

Eine andere Möglichkeit, Formularfelder in Word einzufügen und deren Inhalte auszulesen, besteht darin, die Word-Funktion „Dokument schützen“ zu nutzen. Du kannst das Word-Dokument sperren, sodass nur bestimmte Felder ausgefüllt werden können. Dadurch wird die Eingabe in nicht gewollte Felder verhindert und die Daten integrität gewahrt.

  1. Gehe zu „Entwicklertools“ > „Dokument schützen“.
  2. Wähle die Option „Bearbeitung einschränken“ und aktiviere die Eingabefelder.
  3. Speichere das Dokument und nutze dann den oben genannten VBA-Code, um die Daten auszulesen.

Praktische Beispiele

Angenommen, Du hast ein Word-Dokument mit mehreren Textformularfeldern. Ein Beispiel für die Verwendung der VBA-Methode könnte so aussehen:

  • Du hast ein Formular mit den Feldern „Name“, „Adresse“ und „E-Mail“.
  • Nachdem Du die Daten in diesen Feldern ausgefüllt hast, führst Du das Makro aus.
  • Die Daten werden in einer Textdatei gespeichert, die Du anschließend in Excel importieren kannst.

Die Textdatei könnte dann so aussehen:

Max Mustermann; Musterstraße 1; max@mustermann.de

Tipps für Profis

  • Automatisiere den Import: Du kannst den Import der Textdatei direkt in Excel integrieren, indem Du den Code erweiterst, um die Textdatei nach dem Speichern sofort zu importieren.

  • Verwende Datenvalidierung: Wenn Du in Excel mit den importierten Daten arbeitest, nutze die Datenvalidierung, um sicherzustellen, dass die Eingaben korrekt sind.

  • Formatiere die Textdatei: Achte darauf, dass Du die Textdatei in einem gut lesbaren Format speicherst, um die Datenverarbeitung in Excel zu erleichtern.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass nur bestimmte Formularfelder in Word ausgefüllt werden?
Du kannst das Word-Dokument sperren, indem Du die Option „Bearbeitung einschränken“ verwendest und nur die gewünschten Felder für die Eingabe freigibst.

2. Kann ich die Daten direkt aus den Formularfeldern in Excel importieren?
Ja, dies ist möglich, indem Du den oben beschriebenen VBA-Code anpasst, um die Daten direkt in Excel-Zellen einzufügen, anstatt eine Textdatei zu erstellen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige