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

Import von Word-Formularfeldwerten in Excel

Forumthread: Import von Word-Formularfeldwerten in Excel

Import von Word-Formularfeldwerten in Excel
23.07.2002 09:16:47
Doris
Ich habe die Aufgabe einen Fragekatalog auszuwerten, welcher als Word-Formular verschickt wurde. Darin befinden sich hauptsächlich Kontrollkästchen. Diese sind nun von den Teilnehmern individuell ausgefüllt worden (mit Kreuz). Ich habe nun eine Excel-Mappe erstellt, worin ich die grafische Auswertung vornehmen möchte und frage mich, ob ich tatsächlich, all die Kreuze (es sind viele :-() manuell in Excel übertragen muss??!! Ich habe versucht, die Werte aus Word zu kopieren und in Excel zu verknüpfen. Das klappt soweit, aber die entscheidenden Kreuze (und darum gehts ja letztendlich) werden nicht übertragen ;-(

Kennt jemand einen Trick?

Vielen Dank für eure Hilfe und Gruss
Doris

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Import von Word-Formularfeldwerten in Excel
23.07.2002 14:35:05
Gerd
Hallo Doris,
vielleicht hilft Dir folgendes Makro (für Excel und Word 2000) weiter.


Sub WordCheckBoxes()
Dim WordApp As New Word.Application 'Verweis auf Microsoft Word Object Library
Dim WordDoc As Word.Document
Dim x As Long
Set WordDoc = WordApp.Documents.Open("U:\Checkbox.doc")
For x = 1 To WordDoc.InlineShapes.Count
Cells(x, 1) = WordDoc.InlineShapes(x).OLEFormat.ClassType
Cells(x, 2) = WordDoc.InlineShapes(x).OLEFormat.Object.Caption
Cells(x, 3) = WordDoc.InlineShapes(x).OLEFormat.Object.Name
Cells(x, 4) = WordDoc.InlineShapes(x).OLEFormat.Object.Value
Next x
WordDoc.Close
WordApp.Quit
End Sub





Anzeige
Re: Import von Word-Formularfeldwerten in Excel
23.07.2002 15:19:02
Doris
Hallo Gerd

Klingen tut das irgendwie gar nicht schlecht. Jetzt müsste ich bloss noch wissen, wie ich den Makro den nun genau zum funktionieren bringe (was muss ich in Word, was in Excel machen?).
Kannst du mir evtl. den Workflow darlegen? Ich habe mit Makros bis jetzt leider (wie du siehst)noch nicht viel am Hut, sorry.

Gruss
Doris

Anzeige
Re: Import von Word-Formularfeldwerten in Excel
23.07.2002 15:47:19
Gerd
Hallo Doris,

Du speicherst alle Word-Dateien in ein Verzeichnis. Als Dateiname wählst Du den Namen des Befragten. Danach erstellst Du aus dem Makro auf https://www.herber.de/mailing/060599h.htm und meinem Makro ein neues Makro, welches Dir aus allen Dateien eines Verzeichnisses die Daten ausliest und ins Excel einträgt.
Hier ein auf die Schnelle zusammengebasteltes Beispiel:


Sub Einlesen()
Dim Pfad$, FName$, FCount%, FileArray()
Pfad = InputBox("Pfad:", , "C:\Fragebogen")
If Right(Pfad, 1) = "\" Then Pfad = Left(Pfad, Len(Pfad) - 1)
If Pfad = "" Then Exit Sub
On Error GoTo ErrorHandler
ChDrive Left(Pfad, 1)
ChDir Pfad
On Error GoTo 0
FName = Dir("*.*")
Do While FName <> ""
FCount = FCount + 1
ReDim Preserve FileArray(1 To FCount)
FileArray(FCount) = FName
FName = Dir()
Loop
Dim WordApp As New Word.Application
Dim WordDoc As Word.Document
Dim x As Long, FileNr As Long
For FileNr = 1 To FCount
Set WordDoc = WordApp.Documents.Open(Pfad & "\" & FileArray(FileNr))
Cells(FileNr, 1) = WordDoc.Name
For x = 1 To WordDoc.InlineShapes.Count
Cells(FileNr, x + 1) = WordDoc.InlineShapes(x).OLEFormat.Object.Value
Next x
WordDoc.Close
Next FileNr
WordApp.Quit
End
ErrorHandler:
MsgBox "Pfad wurde nicht gefunden!"
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Import von Word-Formularfeldwerten in Excel


Schritt-für-Schritt-Anleitung

Um die Daten aus Word in Excel zu importieren, benötigst du ein Makro, welches die Werte aus einem Word-Formular in eine Excel-Tabelle überträgt. Hier sind die Schritte:

  1. Öffne Microsoft Excel und erstelle eine neue Arbeitsmappe.

  2. Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  3. Wähle im Menü „Einfügen“ die Option „Modul“, um ein neues Modul zu erstellen.

  4. Kopiere und füge folgendes Makro ein:

    Sub WordCheckBoxes()
       Dim WordApp As New Word.Application
       Dim WordDoc As Word.Document
       Dim x As Long
       Set WordDoc = WordApp.Documents.Open("Pfad\zu\deiner\Word-Datei.doc")
       For x = 1 To WordDoc.InlineShapes.Count
           Cells(x, 1) = WordDoc.InlineShapes(x).OLEFormat.Object.Value
       Next x
       WordDoc.Close
       WordApp.Quit
    End Sub
  5. Ersetze "Pfad\zu\deiner\Word-Datei.doc" mit dem tatsächlichen Pfad deiner Word-Datei.

  6. Schließe den VBA-Editor und kehre zu Excel zurück.

  7. Führe das Makro aus, indem du ALT + F8 drückst, das Makro auswählst und auf „Ausführen“ klickst.


Häufige Fehler und Lösungen

  • Fehler: Das Word-Dokument wird nicht gefunden.

    • Lösung: Stelle sicher, dass der Pfad zur Word-Datei korrekt ist und die Datei nicht geöffnet ist.
  • Fehler: Die Werte der Kontrollkästchen werden nicht übertragen.

    • Lösung: Überprüfe, ob die Kontrollkästchen als InlineShapes in Word definiert sind. Das Makro funktioniert nur mit InlineShapes, nicht mit regulären Formen.

Alternative Methoden

Falls du keine Makros verwenden möchtest, kannst du die Daten aus Word in Excel importieren, indem du die Werte manuell kopierst und in Excel einfügst. Eine einfachere, jedoch zeitaufwendigere Methode ist, die Word-Formulare in eine Tabelle zu konvertieren und diese dann zu kopieren.

  1. Öffne das Word-Dokument.
  2. Wähle die Tabelle oder die relevanten Formularfelder aus und kopiere sie.
  3. Gehe zu Excel und füge die Daten ein.

Praktische Beispiele

Hier ist ein Beispiel, wie du ein Makro für den Import von Word-Daten in Excel anpassen kannst:

Sub Einlesen()
    Dim Pfad$, FName$, FCount%, FileArray()
    Pfad = InputBox("Pfad zu deinen Word-Dokumenten:")
    If Right(Pfad, 1) = "\" Then Pfad = Left(Pfad, Len(Pfad) - 1)
    If Pfad = "" Then Exit Sub
    On Error GoTo ErrorHandler
    ChDrive Left(Pfad, 1)
    ChDir Pfad
    FName = Dir("*.*")
    Do While FName <> ""
        FCount = FCount + 1
        ReDim Preserve FileArray(1 To FCount)
        FileArray(FCount) = FName
        FName = Dir()
    Loop
    Dim WordApp As New Word.Application
    Dim WordDoc As Word.Document
    Dim x As Long, FileNr As Long
    For FileNr = 1 To FCount
        Set WordDoc = WordApp.Documents.Open(Pfad & "\" & FileArray(FileNr))
        Cells(FileNr, 1) = WordDoc.Name
        For x = 1 To WordDoc.InlineShapes.Count
            Cells(FileNr, x + 1) = WordDoc.InlineShapes(x).OLEFormat.Object.Value
        Next x
        WordDoc.Close
    Next FileNr
    WordApp.Quit
    End
ErrorHandler:
    MsgBox "Pfad wurde nicht gefunden!"
End Sub

Tipps für Profis

  • Stelle sicher, dass du die Microsoft Word Object Library in den Verweisen aktiviert hast, um VBA-Makros zu verwenden.
  • Um die Excel-Daten in ein Word-Formular einzufügen, kannst du die Funktion „Serienbrief“ in Word verwenden, um Daten aus Excel direkt in ein interaktives Word-Dokument zu übertragen.
  • Verwende die Funktion Application.ScreenUpdating = False, um die Performance beim Ausführen von Makros zu verbessern.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass mein Makro funktioniert? Stelle sicher, dass du die richtigen Verweise in deinem VBA-Editor gesetzt hast und dass die Word-Datei nicht geöffnet ist, während das Makro läuft.

2. Kann ich auch mehrere Word-Dokumente gleichzeitig importieren? Ja, du kannst das Makro anpassen, um Daten aus mehreren Word-Dokumenten in Excel zu importieren, wie im Beispiel „Einlesen“ gezeigt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige