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

Forumthread: WORD-Dokument aus Excel erstellen aus Vorlagen

WORD-Dokument aus Excel erstellen aus Vorlagen
01.06.2015 16:16:13
Harald
Hallo zusammen, habe schon viel recherchiert löst allerdings leider nicht meine Anforderung.
Ich gebe dazu einen Teil meines Codes wieder. Zunächst die Erklärung: ich habe ein Formular erstellt in welchem beim Initialisieren Werte aus Excel-Cells eingelesen werden. Je nachdem was dort steht werden Dokumente als Vorlagen hergenommen. Ziel ist es, ein eigenes neues Word-Dokument zu erzeugen, mit den Inhalten dieser Vorlagen, hintereinander weg kopiert und durch insert.break getrennt. In WORD selbst hab ich so ne Funktion bereits drin, nur eben über den Umweg Excel klappt das nicht. Das Ergebnis meines Codes ist ganz simpel: es passiert gar nix. Anders gesagt: durch objWA.visible = true kann ich sehen, wie sechs EIGENE Dokumente erstellt werden. Nicht jedoch werden die Inhalte in EIN neues zusammenkopiert.
Die Lösung ist bestimmt relativ simpel... ich komme nur nicht weiter... DANKE für Hilfe!
Teil des Codes zum Verständnis:
Set objWA = CreateObject("Word.application") 'Word öffnen
objWA.Visible = True
If frmVTG.cboListe.ListIndex = 0 Then 'alles drucken
objWA.Documents.Add (strPfad & "HV_AQA.docx")
' hier soll eigentlich der Umbruch erfolgen.
'selection.EndKey Unit:=wdStory 'ans Ende des Dokuments springen
'selection.InsertBreak Type:=wdPageBreak 'einen Seitenumbruch einfügen
'mögliche SBN (26):
' 9, 18, 19, 22,23, 28, 29, 38, 44, 45, 50, 81, 82, 83, 84,
' 89, 134, 144, 145, 153, 156, 157, 158, 159, 169, 174
' VU-Funktionen (15):
' 999
objWA.Documents.Add (strPfad & "FKT_" & frmVTG.txtSBN & ".docx")
If frmVTG.chkVorschuss.Value = True Then
objWA.Documents.Add (strPfad & "Vorschuss_AQA.docx")
End If

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: WORD-Dokument aus Excel erstellen aus Vorlagen
01.06.2015 20:31:23
Luschi
Hallo Harald,
beim Steuern von Word aus Excel heraus, muß man mit Objekt-Variablen arbeiten und dann diese auch einsetzen. Selection gibt es in Excel & in Word. Excel-Vba nutzt natürlich seinen eigenen Selection-Befehl.
Deshalb muß die Objekt-Variable von Word davor gesetzt werden.
Auch kennt Excel nicht die internen Variablen von 'wdStory' & 'wdPageBreak'. Diese müssen durch die dahinterliegenden Zahlenwerten (6 & 7) ersetzt werden. Diese Werte bekommt man heraus, wenn man im Word-Vba-Editor im direkt-Fenster eintippt: ? wdPageBreak bzw. ? wdStory
Hier mein Code:

Dim objWA As Object
Dim objDoc As Object
Dim strPfad As String
Set objWA = CreateObject("Word.application") 'Word öffnen
objWA.Visible = True
If frmVTG.cboListe.ListIndex = 0 Then 'alles drucken
strPfad = "G:\Daten\WinWord\"
Set objDoc = objWA.Documents.Add(strPfad & "manueller_ZeilenWechsel.doc")
' hier soll eigentlich der Umbruch erfolgen.
'selection.EndKey Unit:=wdStory 'ans Ende des Dokuments springen
objWA.Selection.EndKey Unit:=6          'wdStory
'selection.InsertBreak Type:=wdPageBreak 'einen Seitenumbruch einfügen
objWA.Selection.InsertBreak Type:=7     'wdPageBreak
Gruß von Luschi
aus klein-Paris
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

WORD-Dokument aus Excel erstellen aus Vorlagen


Schritt-für-Schritt-Anleitung

Um ein Word-Dokument aus Excel zu erstellen, kannst du VBA (Visual Basic for Applications) verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke im Menü auf Einfügen > Modul.

  3. Kopiere den folgenden Code in das Modul:

    Dim objWA As Object
    Dim objDoc As Object
    Dim strPfad As String
    Set objWA = CreateObject("Word.Application") 'Word öffnen
    objWA.Visible = True
    strPfad = "G:\Daten\WinWord\" 'Pfad zu deinen Vorlagen
    
    ' Beispiel für das Hinzufügen von Dokumenten
    Set objDoc = objWA.Documents.Add(strPfad & "manueller_ZeilenWechsel.doc")
    objWA.Selection.EndKey Unit:=6          'wdStory
    objWA.Selection.InsertBreak Type:=7     'wdPageBreak
  4. Passe den Pfad zu deinen Word-Dokumenten an, indem du strPfad änderst.

  5. Führe das Makro aus: Drücke F5 oder klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Fehler: „Es passiert gar nichts“

    • Stelle sicher, dass der Pfad zu deinen Vorlagen korrekt ist. Wenn der Pfad nicht stimmt, wird das Dokument nicht gefunden.
  • Problem mit Selection

    • Verwende die Objektvariable objWA vor Selection, um sicherzustellen, dass du die Word-Objekte steuerst.
  • Seitenumbruch funktioniert nicht

    • Stelle sicher, dass du die Werte für wdPageBreak und wdStory korrekt ersetzt hast, wie in der Anleitung beschrieben.

Alternative Methoden

Eine weitere Möglichkeit, ein Word-Dokument aus Excel zu generieren, ist die Verwendung von Serienbrief-Funktionen. Du kannst auch eine Excel-Bestellliste Vorlage erstellen und diese als Datenquelle für den Serienbrief in Word verwenden.

  1. Erstelle eine Excel-Bestellliste Vorlage.
  2. Öffne Word und gehe zu Sendungen > Serienbrief starten.
  3. Wähle Vorhandenes Dokument verwenden und verlinke deine Excel-Datei.

Praktische Beispiele

Hier sind einige Beispiele, wie du den obigen Code anpassen kannst:

  • Word-Rechnung aus Excel erstellen:

    Set objDoc = objWA.Documents.Add(strPfad & "Rechnung_Vorlage.docx")
  • Bestellliste Word-Dokument aus Excel generieren:

    Set objDoc = objWA.Documents.Add(strPfad & "Bestellliste_Vorlage.docx")
  • Excel-Formular Vorlage erstellen:

    Du kannst ein Formular in Excel erstellen und die Daten dann in ein Word-Dokument übertragen.


Tipps für Profis

  • Nutze Excel-Vorlagen erstellen, um deine Berichte und Rechnungen zu standardisieren.
  • Verwende Tabellenvorlagen in Word, um deine Daten ansprechend zu formatieren.
  • Experimentiere mit Excel-Autor einfügen, um Metadaten in deine Word-Dokumente einzufügen.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Word-Dokumente in eines zusammenführen? Um mehrere Word-Dokumente in eines zusammenzuführen, füge sie nacheinander hinzu und verwende InsertBreak für Umbrüche.

2. Welche Excel-Version wird für diese Methode benötigt? Die oben genannten Schritte funktionieren in Excel 2010 und neueren Versionen. Stelle sicher, dass du auch Word installiert hast.

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