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

aus Excel heraus Word Dokument zusammenstellen

Forumthread: aus Excel heraus Word Dokument zusammenstellen

aus Excel heraus Word Dokument zusammenstellen
10.06.2015 15:01:36
Harald
Mit Verweis auf Archiv-Index 1428701
Hallo insbesondere an Luschi mit herzlichem Dank für die bereits geleistete Antwort. Ich hab's so umgesetzt! Vermutlich hab ich zu lange nicht geschaut und deshalb wurde der Beitrag bereits archiviert. Sorry!
Mir geht es nun aber auch noch darum wie ich weitere Vorlagen die ich gespeichert habe, öffnen kann, den Inhalt kopieren, und an das neu erstellte WORD hinten an kopieren kann. Diese Aktion muss mehrfach mit div. Dokumenten wiederholt werden. Ergebnis soll sein, dass ein eigenes neues Word-Dokument dabei herauskommt mit den Inhalten verschiedener Vorlagen. In WORD selbst hab ich das schon erfolgreich umgesetzt. Was aber ist aus Excel heraus an Makros zu formulieren? Bislang habe ich als Code folgende Lösung von Luschi bekommen:
Dim intFKT1 As Integer, strFKT As String
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 = "c:\pfadangabe\"
Set objDoc = objWA.Documents.Add(strPfad & "HV_AQA.docx")
' 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
Nun denke ich mit documents.add bekomme ich wieder nur eine NEUE Word-Datei geöffnet. Ich will aber Inhalte von weiteren Vorlagen an das neu erzeugte Dokument ranhängen. Wie geht das? Im Voraus lieben Dank für weitere Hilfe und ich verspreche ich melde mich ZEITNAH!!
Herzliche Grüße
Harald

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: aus Excel heraus Word Dokument zusammenstellen
12.06.2015 16:01:31
fcs
Hallo Harald,
nachfolgen eine Kombination von Makros.
Durch die Prüfung der Dateinamen und eine Option bezüglich Kopf-/Fusszeilen ist etwas mehr Code geworden.
Gruß
Franz
'Erstellt unter Word 2010/Excel 2010
Sub CompileWordDocument()
' CompileDocument Makro
Dim wdApp As Object  'Word.Application
Dim wdDoc As Object  'Word.Document
Dim arrVorlagen, strFile As Variant, strPfad As String, strMsg As String
'Anzufügende Vorlagedateien
strPfad = "D:\Test\Harald\"
arrVorlagen = Array(strPfad & "Vorlage01.docx", _
strPfad & "Vorlage02.docx", _
strPfad & "Vorlage03.docx")
'prüfen, ob Dateien vorhanden
For Each strFile In arrVorlagen
If Dir(strFile) = "" Then
strMsg = strMsg & vbLf & strFile
End If
Next
'1. zu öffnende Datei
strPfad = "D:\Test\Harald\"
strFile = strPfad & "MasterDoc2.docx"
'prüfen, ob Datei vorhanden
If Dir(strFile) = "" Then
strMsg = strFile & vbLf & strMsg
End If
If strMsg  "" Then
MsgBox "Datei(en) " & strMsg & vbLf & "nicht gefunden!", vbOKOnly, _
"Makro: CompileWordDocument"
Exit Sub 'Makro beenden
End If
Set wdApp = VBA.CreateObject("Word.Application")
wdApp.Visible = True
'1. Datei schreibgeschützt öffnen
Set wdDoc = wdApp.Documents.Open(Filename:=strFile, ConfirmConversions:=False, _
ReadOnly:=True, Format:=0) 'Format: 0 = wdOpenFormatAuto
'Vorlagen anfügen
For Each strFile In arrVorlagen
Call prcVorlageEinfuegen(wdZiel:=wdDoc, strVorlage:=strFile, _
bolKopfFusszeile:=False)
Next
wdDoc.Activate
Set wdApp = Nothing
ActiveCell.Copy 'räumt Zwischenablage leer
Application.CutCopyMode = False
End Sub
Sub prcVorlageEinfuegen(wdZiel As Object, ByVal strVorlage As String, _
Optional bolKopfFusszeile As Boolean)
'wdZiel = Word-Dokument in das die weiteren Dokumente/Vorlagen am Ende eingefügt _
werden sollen
'strVorlage = Pfad\Dateiname der einzufügenden Worddatei
'bolKopfFusszeile = False : Seitenwechsel werden eingefügt und Kopf/Fusszeile _
der Vorlage werden nicht mit kopiert
'= True  : Abschnittswechsel werden eingefügt und Kopf/Fusszeile _
der Vorlage werden mit kopiert
Dim wdApp As Object  'Word.Application
Dim wdVorlage As Object  'Word.Document
Set wdApp = wdZiel.Application
'Cursor am Dokumentende positionieren
wdZiel.Activate
wdApp.Selection.EndKey Unit:=6 '6 = wdStory
'Abschnittswechsel oder Seitenwechsel einfügen
If bolKopfFusszeile = True Then
wdApp.Selection.InsertBreak Type:=2 ' 7 = wdSectionBreakNextPage
wdZiel.Sections.Last.Headers(1).LinkToPrevious = False '1 = wdHeaderFooterPrimary
wdZiel.Sections.Last.Footers(1).LinkToPrevious = False '1 = wdHeaderFooterPrimary
Else
wdApp.Selection.InsertBreak Type:=7 ' 7 = wdPageBreak
End If
'Vorlagedatei schreibgeschützt öffnen
Set wdVorlage = wdApp.Documents.Open(Filename:=strVorlage, _
ConfirmConversions:=False, ReadOnly:=True, Format:=0)  '0 = wdOpenFormatAuto
'Inhalt der Vorlage markieren
wdApp.Selection.WholeStory
If bolKopfFusszeile = False Then
'letztes Absatzzeichen nicht mit markieren
wdApp.Selection.MoveLeft Unit:=1, Count:=1, Extend:=1  ' Unit: 1 = wdCharacter _
Extend: 1 = wdExtend
End If
'Kopieren und in Masterdatei einfügen
wdApp.Selection.Copy
wdZiel.Activate
wdApp.Selection.PasteAndFormat (16) '16 = wdFormatOriginalFormatting
'Vorlagedatei wieder schliessen
wdVorlage.Close savechanges:=False
End Sub

Anzeige
AW: aus Excel heraus Word Dokument zusammenstellen
12.06.2015 16:06:30
Harald
Hallo Franz, das sieht recht komplex aus aber für mich einigermaßen nachvollziehbar und auch neue Sachen dabei. Super!! Das probiere ich natürlich über das WE aus und melde mich dann noch einmal dazu mit einer so hoffe und glaube ich positiven Info!! Ganz lieben Dank schon mal für Deine Unterstützung! Viele Grüße Harald
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Word-Dokumente aus Excel erstellen und verwalten


Schritt-für-Schritt-Anleitung

Um aus Excel heraus ein Word-Dokument zusammenzustellen, kannst du ein Makro verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung, um die Inhalte mehrerer Word-Vorlagen in ein neues Dokument zu integrieren:

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

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste im Projekt-Explorer und wähle "Einfügen" > "Modul".

  3. Kopiere den folgenden VBA-Code in das Modul:

    Sub CompileWordDocument()
       Dim wdApp As Object
       Dim wdDoc As Object
       Dim arrVorlagen As Variant
       Dim strPfad As String
    
       strPfad = "D:\Test\Harald\" ' Passe den Pfad entsprechend an
       arrVorlagen = Array(strPfad & "Vorlage01.docx", _
                           strPfad & "Vorlage02.docx", _
                           strPfad & "Vorlage03.docx")
    
       Set wdApp = CreateObject("Word.Application")
       wdApp.Visible = True
       Set wdDoc = wdApp.Documents.Add ' Neues Word-Dokument erstellen
    
       For Each strVorlage In arrVorlagen
           Call prcVorlageEinfuegen(wdZiel:=wdDoc, strVorlage:=strVorlage, bolKopfFusszeile:=False)
       Next
    
       wdDoc.Activate
       Set wdApp = Nothing
    End Sub
    
    Sub prcVorlageEinfuegen(wdZiel As Object, ByVal strVorlage As String, Optional bolKopfFusszeile As Boolean)
       Dim wdApp As Object
       Set wdApp = wdZiel.Application
       wdZiel.Activate
       wdApp.Selection.EndKey Unit:=6 'Word ans Ende des Dokuments springen
       wdApp.Selection.InsertBreak Type:=7 'Word Seitenumbruch einfügen
    
       Dim wdVorlage As Object
       Set wdVorlage = wdApp.Documents.Open(Filename:=strVorlage, ReadOnly:=True)
       wdApp.Selection.WholeStory
       wdApp.Selection.Copy
       wdZiel.Activate
       wdApp.Selection.PasteAndFormat (16) '16 = wdFormatOriginalFormatting
       wdVorlage.Close savechanges:=False
    End Sub
  4. Passe den Pfad zu deinen Vorlagen an.

  5. Führe das Makro aus: Drücke F5 oder wähle das Makro im Excel-Fenster aus und klicke auf "Ausführen".


Häufige Fehler und Lösungen

  • Fehler: „Datei nicht gefunden“
    Überprüfe, ob der angegebene Pfad zu den Word-Dokumenten korrekt ist. Achte darauf, dass die Dokumente wirklich vorhanden sind und die Dateinamen korrekt geschrieben sind.

  • Makro funktioniert nicht
    Stelle sicher, dass die Makros in Excel aktiviert sind. Gehe zu "Datei" > "Optionen" > "Sicherheitscenter" > "Einstellungen für das Sicherheitscenter" > "Makroeinstellungen".

  • Word-Dokument wird nicht sichtbar
    Wenn du wdApp.Visible = True in den Code einfügst, wird die Word-Anwendung sichtbar.


Alternative Methoden

Eine alternative Methode ist die Verwendung von Excel-Add-Ins oder vorhandenen Vorlagen in Word. Du kannst auch manuell Inhalte von Excel in Word kopieren, wobei die Formatierung verloren gehen kann. Für eine automatisierte Lösung empfiehlt sich jedoch die Verwendung von Makros.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du mehrere Vorlagen zu einem neuen Word-Dokument zusammenfügen kannst:

Sub BeispielZusammenfuegen()
    ' Beispiel zur Verwendung des CompileWordDocument Makros
    Call CompileWordDocument
End Sub

Führe dieses Makro aus, um die Funktionalität zu testen und die Vorlagen zu kombinieren.


Tipps für Profis

  • Verwende Excel Abschnittswechsel, um verschiedene Layouts innerhalb deines Word-Dokuments zu erstellen.
  • Nutze die Strfkt-Funktion in VBA, um deine Codes effizienter zu gestalten.
  • Experimentiere mit den Word-Seitenwechsel- und Seitenumbruch-Optionen, um das Layout deines Dokuments zu verbessern.

FAQ: Häufige Fragen

1. Wie kann ich ein bestehendes Word-Dokument öffnen?
Verwende den Befehl Set wdDoc = wdApp.Documents.Open(Filename:="Pfad\zu\deinem\Dokument.docx").

2. Welche Excel-Version wird benötigt?
Dieses Makro funktioniert am besten mit Excel 2010 oder neuer, um die Kompatibilität mit Word-Dokumenten zu gewährleisten.

3. Kann ich auch Dokumente mit speziellen Formatierungen einfügen?
Ja, du kannst das Format der Vorlagen beibehalten, indem du wdApp.Selection.PasteAndFormat(16) verwendest.

4. Was tun, wenn ich eine Fehlermeldung beim Ausführen des Makros bekomme?
Überprüfe den Code auf Tippfehler und stelle sicher, dass alle erforderlichen Objekte korrekt deklariert sind.

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