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

Forumthread: Aus Excel in Word Textfeld / Formular

Aus Excel in Word Textfeld / Formular
amintire
Guten Abend alle zusammen,
hat jemand evtl eine Lösung wie ich aus einem Excel Formular die Eingabe im Textfeld
in Word in ein Textfeld einfügen kann (per VBA).
Die Word Datei ist als .dot gespeichert und befindet sich z.b. auf C Laufwerk.
Vielleicht gibt es ja schon Lösungen zu so einem Vorhaben.
Vielen Dank.
Gruß amintire
Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Aus Excel in Word Textfeld / Formular
19.09.2009 19:10:25
fcs
Hallo amintire,
im Prinzip funktioniert es so. Aus deiner Frage geht aber nicht hervor welcher Art das textfeld in Word ist.
Ich hoffe das hier kein Unterschied zwischen der 2003er und 2007er-Version von Office ist. Für Formularfelder hat es so auch schon unter Office 97 funktioniert.
Gruß
Franz
Sub Daten_von_Excel_UF_nach_Word_Textbox()
'Fügt Daten aus Excel-UF in ein Wordokuments ein
'Erstellt unter Excel 2007 / Word 2007
' Für Funktion des Makros muss im Excel VBA-Editor unter Extras-Verweise _
die Microsoft Word X.Y Object Library aktiviert werden
'Word muss vor dem Starten des Makros geöffnet sein!
Dim wdDoc As Document, wks As Worksheet
'Neues Worddokument auf Basis eine Vorlage öffnen
Word.Documents.Add Template:="C:\Users\Public\Vorlagen\Word\TestTemplate.dot"
Set wdDoc = ActiveDocument 'Dokument kann natürlich auch anders gesetzt werden
With wdDoc
'Daten in Worddokument einfügen
.Application.WindowState = wdWindowStateMinimize
'Daten in Texteingabefeld in Wordformular eintragen. Name des Formularfeldes anpassen!
.FormFields("TextVonExcel").Result = UserForm1.TextBox1
'Daten in Text Box in Word eintragen. Name der Textbox anpassen!
.Shapes("Text Box 2").TextFrame.TextRange.Text = UserForm1.TextBox1
End With
MsgBox "Daten sind übertragen"
End Sub

Anzeige
AW: Aus Excel in Word Textfeld / Formular
20.09.2009 12:52:24
amintire
In Word ist es eine Textmarke. Eine Vorlage wo nur die Textmarken gefüllt werden durch Excel.
Evtl gibt es ja eine Beispielmappe. Ich hab leider keine, da ich nicht weiß wie so etwas funktioniert.
Gruß amintire
AW: Beispieldatei
20.09.2009 13:33:11
amintire
Hallo nochmal,
hier eine Beispieldatei.
https://www.herber.de/bbs/user/64562.xls
Die Textfelder vom Formular müssen bei Eingabe und auf Ok dann in Word eingefügt werden bei einer Textmarke. Im Word sind 4 Textmarken. Die Eingaben werden bei Excel gemacht.
Vielleicht hat ja jemand einen Lösungsvorschlag.
Gruß amintire
Anzeige
AW: Datentransfer Excel --> Word - Textmarke
20.09.2009 14:41:50
fcs
Hallo amintire,
hier zwei Beispiel-Dateien (Word-DOT + Excel).
Dateien wurden mit Office 2007 erstellt, solten aber auch unter den älteren Versionen funktionieren.
In den Prozeduren muss du den Name der Vorlage (in Hauptprozedur) anpassen. Du kannst das Modul so wie es ist in deine Exceldatei übernehmen.
In deinem Userform muss du dann die Prozedur für den Übertragen-Button analog meinem Beispiel anpassen.
Gruß
Franz
https://www.herber.de/bbs/user/64563.zip
Anzeige
Danke aber...
20.09.2009 20:02:16
amintire
Hi Franz, danke für deine Hilfe.
Die Mappe funktioniert und ich kann es auch anpassen. Allerdings muss ja die .dot Datei offen sein damit die Daten übertragen werden.
Kann man das so abändern dass Excel die .dot Datei öffnet die Daten dann einfügt?
Gruß amintire
AW: Danke aber...
20.09.2009 21:22:16
fcs
Hallo amintire,
die Dot-Datei muss nicht geöffnet sein!
Excel öffnet in Word eine neue Datei auf Basis der Dokumentvorlage und trägt dann die Daten ein.
Die mit Daten ausgefüllte Datei bleibt dann in Word geöffnet.
Bisher hast du ja noch nichts darüber verraten, dass da noch mher passieren soll.
Gruß
Franz
Anzeige
AW: Danke aber...
21.09.2009 04:10:15
amintire
Hallo Franz,
also wenn ich nur die Excel Datei öffne und User form starte kommt folgende Fehlermeldung:
"Fehler-Nr. 429 - Objekterstellung durch Active-X-Komponente nicht möglich"
Wenn ich aber die .dot Datei nebenbei noch öffne funktioniert es.
Excel müsste aber die .dot öffnen und die Daten eintragen.
Gruß amintire
Anzeige
AW: Danke aber...
21.09.2009 11:05:53
fcs
Hallo Amintire,
versteh ich nicht bei mir privat unter EXCEL 2007/Word2007 hat es funktioniert.
Evtl. sind auf deinem System noch irgendwelche Sicherheitseinstellungen aktiv, die den Dateizugriff (öffnen, schliessen, neu) unter VBA nicht zulassen. Da kann ich aber leider nicht weiterhelfen. Falls vorhanden mal deinen EDV-Administrator fragen, ob es da irgendwelche Einschränkungen gibt.
Gruß
Franz
Anzeige
Keine Ahnung...
21.09.2009 17:00:31
amintire
Hallo Franz,
danke erstmal für deine Hilfe.
Leider bin ich selbst EDV-Admin @home und hab keine Ahnung wo welche Sicherungen festgelegt werden.
Wenn die .dot Datei geöffnet ist funktioniert dass ganze. Ansonsten kommt halt die Fehlermeldung.
Gruß amintire
AW: Keine Ahnung...
22.09.2009 20:39:42
amintire
Hallo,
also ich hab alles mögliche versucht, die Mappe funktioniert nur wenn die Datei .dot offen ist. Ansonsten kommt die Fehlermeldung.
Sicher dass es bei dir richtig funktioniert?
Gruß amintire
Anzeige
AW: Keine Ahnung...
23.09.2009 02:36:57
fcs
Hallo Amintire,
als ich schreib hier selten Unfug und das Öffnen der Word-Vorlagedatei als neues Dokument funktioniert bei mir einwandfrei. Ich weiß auch nicht welche Einstellungen man ggf. Anpassen muss, damit es funktioniert.
Hier eine Variation der Haupt-Prozedur für den Datentransfer nach Word. Diese funktioniert bei mir unabhängig davon, ob Word geöffnet ist oder nicht, und es wird eine 2. Instanz von Word gestartet.
Gruß
Franz
Sub Daten_von_Excel_nach_Word_Textmarken(arrTexte, arrTextmarken)
'Fügt Daten aus Excel in ein Wordokument basierend auf einer Vorlagedatei _
an Textmarken ein
'Erstellt unter Excel 2007 / Word 2007
' Für Funktion des Makros muss im Excel VBA-Editor unter Extras-Verweise _
die Microsoft Word X.Y Object Library aktiviert werden
'arrTexte = Array mit den in Word einzutragenden Texten
'arrTextmarken = Array mit den Bezeichnungen der Textmarken, an denen die _
Texte eingefügt werden sollen.
'Die beiden Arrays müssen gleich groß sein!
Dim objWord As New Word.Application
Dim wdDoc As Word.Document, objWordTextmarke As Word.Bookmark, intI As Long
Dim strVorlage As String
On Error GoTo Fehler
'Prüfen der Arraygrößen
If UBound(arrTexte)  UBound(arrTextmarken) Then Err.Raise Number:=9
'Name und Verzeichnis der Vorlage anpassen!
strVorlage = "C:\Users\Public\Vorlagen\Word\TestTemplate.dot"
If Dir(strVorlage) = "" Then Err.Raise Number:=5151
'Neues Worddokument auf Basis einer Vorlage öffnen.
Set wdDoc = objWord.Documents.Add(Template:=strVorlage)
With wdDoc
'Daten in Worddokument einfügen
.Application.WindowState = wdWindowStateMinimize
'Daten an Textmarke(n) im Worddokument eintragen.
For intI = LBound(arrTexte) To UBound(arrTexte)
Set objWordTextmarke = .Bookmarks(arrTextmarken(intI))
objWordTextmarke.Range.Text = arrTexte(intI)
Resume01:
Next intI
End With
MsgBox "Daten sind übertragen"
objWord.Visible = True
Err.Clear
Fehler:
With Err
If .Number  0 Then
Select Case .Number
Case 9
MsgBox "Fehler-Nr. " & .Number & vbLf & .Description & vbLf & vbLf _
& "Die Arrays für Texte und Textmarken müssen die gleiche " _
& "Anzahl Elemente haben!"
Case 5151
MsgBox "Fehler-Nr. " & .Number & vbLf & .Description & vbLf & vbLf _
& "Bitte Verzeichnis\Datei-Name der Dokumentvorlage in Prozedur " _
& """Daten_von_Excel_nach_Word_Textmarken"" prüfen!"
Case 5941
MsgBox "Fehler-Nr. " & .Number & vbLf & .Description & vbLf & vbLf _
& "Textmarke """ & arrTextmarken(intI) _
& """ existiert in der Dokumentvorlage nicht! " _
& "Bitte Bezeichnungen der Textmarken prüfen!"
Resume Resume01
Case Else
MsgBox "Fehler-Nr. " & .Number & vbLf & .Description
End Select
End If
End With
End Sub

Anzeige
jetzt funktioniert es...
23.09.2009 07:44:37
amintire
Hi Franz, war nicht so gemeint ob es sicher bei dir funktioniert.
jetzt funktioniert aber der code. danke für die hilfe
Gruß amintire
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Excel Daten in Word Formular Einfügen


Schritt-für-Schritt-Anleitung

Um ein Excel-Formular zu erstellen und die Daten in ein Word-Formular einzufügen, kannst Du folgende Schritte befolgen:

  1. Excel-Daten vorbereiten:

    • Erstelle ein Excel-Dokument mit den benötigten Daten. Füge ein Textfeld in Excel ein, um die Daten zu erfassen.
  2. Word-Vorlage erstellen:

    • Öffne Microsoft Word und erstelle eine Vorlage (z.B. .dot-Datei) mit Textmarken, die Du später aus Excel befüllen möchtest. Achte darauf, die Textmarken klar zu benennen.
  3. VBA-Editor öffnen:

    • In Excel, drücke ALT + F11, um den VBA-Editor zu öffnen.
  4. Modul erstellen:

    • Füge ein neues Modul ein (Einfügen > Modul) und kopiere den folgenden VBA-Code:
    Sub Daten_von_Excel_nach_Word_Textmarken()
       Dim objWord As New Word.Application
       Dim wdDoc As Word.Document
       Dim strVorlage As String
       strVorlage = "C:\Users\Public\Vorlagen\Word\TestTemplate.dot"
       Set wdDoc = objWord.Documents.Add(Template:=strVorlage)
    
       'Fülle die Textmarken
       wdDoc.Bookmarks("Textmarke1").Range.Text = ThisWorkbook.Sheets("Daten").Range("A1").Value
       wdDoc.Bookmarks("Textmarke2").Range.Text = ThisWorkbook.Sheets("Daten").Range("A2").Value
    
       objWord.Visible = True
    End Sub
  5. Makro ausführen:

    • Schließe den VBA-Editor und führe das Makro aus (Entwicklertools > Makros > Makro auswählen > Ausführen).

Häufige Fehler und Lösungen

  • Fehler-Nr. 429 - Objekterstellung durch Active-X-Komponente nicht möglich:

    • Dieser Fehler tritt häufig auf, wenn die erforderlichen Verweise im VBA-Editor nicht aktiviert sind. Gehe zu Extras > Verweise und aktiviere die Microsoft Word X.Y Object Library.
  • .dot-Datei muss geöffnet sein:

    • Stelle sicher, dass die Pfade korrekt sind. Der Code öffnet die .dot-Datei automatisch, solange der Pfad stimmt.

Alternative Methoden

Falls Du keine VBA-Programmierung nutzen möchtest, kannst Du auch:

  • Serienbriefe in Word verwenden:

    • Dies erfordert eine Excel-Datenquelle, die Du mit Word verknüpfen kannst. So kannst Du Daten ohne Makros einfügen.
  • Copy & Paste:

    • Kopiere die Daten in Excel und füge sie direkt in das Word-Dokument ein. Dies ist jedoch nicht automatisiert und weniger effizient.

Praktische Beispiele

Hier sind einige praktische Anwendungen:

  • Formularvorlage für Rechnungen:

    • Erstelle eine Excel-Vorlage für Rechnungen und füge die entsprechenden Daten in ein Word-Dokument ein, um eine professionelle Rechnung zu generieren.
  • Berichte:

    • Verwende Excel, um Daten zu analysieren, und übertrage die Ergebnisse in ein Word-Dokument für Berichte.

Tipps für Profis

  • Textfelder in Word erstellen:

    • Achte darauf, die Textfelder in Word so zu formatieren, dass sie die Eingaben korrekt annehmen. Benutze Entwicklertools > Steuerelemente um Textfelder zu erstellen.
  • Fehlervermeidung:

    • Nutze Fehlerbehandlungsroutinen in Deinem VBA-Code, um Programmabstürze zu vermeiden.
  • Excel-Formel in Form einfügen:

    • Du kannst auch Excel-Formeln in Deine Word-Dokumente integrieren, indem Du die Werte aus Excel in Word einfügst.

FAQ: Häufige Fragen

1. Kann ich Excel-Daten in ein Word-Formular einfügen, ohne VBA zu nutzen? Ja, Du kannst Serienbriefe in Word verwenden, um Daten aus Excel zu importieren.

2. Was ist eine Textmarke in Word? Eine Textmarke ist ein Platzhalter in Word, an dem Du später Text oder Daten einfügen kannst.

3. Wie kann ich ein Textfeld in Excel aktivieren? Um ein Textfeld in Excel zu aktivieren, gehe zu Entwicklertools > Einfügen > Textfeld und klicke auf das Arbeitsblatt, um es zu platzieren.

4. Was tun, wenn ich die .dot-Datei nicht finde? Stelle sicher, dass der Pfad korrekt ist und die Datei an dem angegebenen Ort vorhanden ist. Du kannst die Datei auch manuell speichern und den Pfad anpassen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige