Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Word-Formularfeld in Excel übertragen

Forumthread: Word-Formularfeld in Excel übertragen

Word-Formularfeld in Excel übertragen
21.07.2006 12:14:18
Wolfgang
Hallo,
ich habe mehrere identische Word-Formulare und möchte aus diesen die Einträge in den Formularfeldern in ein Excel (zu Auswertungszwecken) zusammenfassen.
so weit fonktionierts schonmal:

Sub einlesen()
Dim Wordapp As Object
Dim Worddoc As Object
pfad = Worksheets("Wertevorrat").Cells(3, 3).Value
i = 0
Do
i = i + 1
Datei = Worksheets("Dateinamen").Cells(i + 2, 1).Value
Dateipfad = pfad & Datei
If Datei <> "" Then
Set Wordapp = CreateObject("Word.Application")
Set Worddoc = Wordapp.Documents.Open(Dateipfad)
Wordapp.Visible = True
Worksheets("Auswertung").Cells(i, 1) = Worddoc.Name
Worksheets("Auswertung").Cells(i, 2) = ?
Worddoc.Close
End If
Loop Until Datei = ""
Wordapp.Quit
End Sub

Wie spreche ich nun die Formularfelder an?
Es sind Textfelder, Auswahlfelder und Checkboxen.
Danke!
Wolfgang
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Word-Formularfeld in Excel übertragen
21.07.2006 13:40:15
fcs
Hallo Wolfgang,
hab mich da jetzt mal schlau gemacht bzw. etwas rumprobiert.
Jedes Formular-Element (Textfeld, Checkbox oder Dropdownfeld) erhält von Word standardmäßig im Eigenschaftenfeld "Textmarke" eine eindeutige Bezeichnung. Unter dieser Bezeichnung kann man die Elemente ansprechen, um den Wert auszulesen. Falls nicht für alle Elemente Textmarken angelegt sind, dann muß man mit Zählnummern der Elemente arbeiten statt mit den Namen, ist aber mühseliger.
Hier dein Makro mit den Anpassungen für das Auslesen. Ich habe die Variable "Worddoc" jetzt als "Document" deklariert. Dies macht das Handling der Methoden und Eigenschaften einfacher. Außerdem muss du, falls noch nicht geschehen, im VBA-Editor unter Extras-Verweise die "Microsoft Word x.y Object Library" als verfügbar markieren.
Gruß
Franz

Sub einlesen()
Dim Wordapp As Object
Dim Worddoc As Document
Pfad = Worksheets("Wertevorrat").Cells(3, 3).Value
i = 0
Do
i = i + 1
Datei = Worksheets("Dateinamen").Cells(i + 2, 1).Value
Dateipfad = Pfad & Datei
If Datei <> "" Then
Set Wordapp = CreateObject("Word.Application")
Set Worddoc = Wordapp.Documents.Open(Dateipfad)
Wordapp.Visible = True
Worksheets("Auswertung").Cells(i, 1) = Worddoc.Name
'Für Textfelder
Worksheets("Auswertung").Cells(i, 2) = Worddoc.FormFields("Text1").Range.Text
Worksheets("Auswertung").Cells(i, 3) = Worddoc.FormFields("Text2").Range.Text
'Für Checkboxen
Worksheets("Auswertung").Cells(i, 4) = Worddoc.FormFields("Kontrollkästchen1").CheckBox.Value
'Für Dropdown-Listen
Worksheets("Auswertung").Cells(i, 5) = Worddoc.FormFields("Dropdown1").DropDown.ListEntries _
(Worddoc.FormFields("Dropdown1").DropDown.Value).Name
Worddoc.Close
End If
Loop Until Datei = ""
Wordapp.Quit
End Sub

Anzeige
AW: Word-Formularfeld in Excel übertragen
21.07.2006 13:47:32
Wolfgang
Hallo,
danke für deine Mühe.
Ich bin vor wenigen Minuten selber drauf gekommen.
Mein Code sieht so aus:
Worksheets("Auswertung").Cells(i, 2) = Worddoc.FormFields("Text1").Result
Ich hatte schon vor Stunden fast das Selbe stehen, wer soll schon wissen dass es im Word ".Result" statt ".Value" heisst.
liefert für alle Typen brauchbare Ergebnisse:
Textfeld: der eingetragene Text
Auswahlfeld: die Auswahl
Checkbox: 0 oder 1
Danke!
Wolfgang
Anzeige
AW: Word-Formularfeld in Excel übertragen
21.07.2006 13:48:33
Wolfgang
Hallo,
danke für deine Mühe.
Ich bin vor wenigen Minuten selber drauf gekommen.
Mein Code sieht so aus:
Worksheets("Auswertung").Cells(i, 2) = Worddoc.FormFields("Text1").Result
Ich hatte schon vor Stunden fast das Selbe stehen, wer soll schon wissen dass es im Word ".Result" statt ".Value" heisst.
liefert für alle Typen brauchbare Ergebnisse:
Textfeld: der eingetragene Text
Auswahlfeld: die Auswahl
Checkbox: 0 oder 1
Danke!
Wolfgang
Anzeige
AW: Word-Formularfeld in Excel übertragen
21.07.2006 14:24:25
fcs
Hi,
über "Result" bin ich auch nicht gestolpert, weil ich zu sehr auf "Value" fixiert war. Ich bin so halt bei der etwas komplizierteren Variante zum Auslesen der Werte gelandet, hab aber wieder einiges über die Eigenschaften von Formularfeldern in Word gelernt und der Möglichkeit deren Werte per Makro zu setzen/auszulesen.
mfg
Franz
Anzeige
AW: Word-Formularfeld in Excel übertragen
21.07.2006 13:48:37
Wolfgang
Hallo,
danke für deine Mühe.
Ich bin vor wenigen Minuten selber drauf gekommen.
Mein Code sieht so aus:
Worksheets("Auswertung").Cells(i, 2) = Worddoc.FormFields("Text1").Result
Ich hatte schon vor Stunden fast das Selbe stehen, wer soll schon wissen dass es im Word ".Result" statt ".Value" heisst.
liefert für alle Typen brauchbare Ergebnisse:
Textfeld: der eingetragene Text
Auswahlfeld: die Auswahl
Checkbox: 0 oder 1
Danke!
Wolfgang
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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