aus Excel heraus Word Dokument zusammenstellen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: aus Excel heraus Word Dokument zusammenstellen
von: Harald
Geschrieben am: 10.06.2015 15:01:36

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

Bild

Betrifft: AW: aus Excel heraus Word Dokument zusammenstellen
von: fcs
Geschrieben am: 12.06.2015 16:01:31
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


Bild

Betrifft: AW: aus Excel heraus Word Dokument zusammenstellen
von: Harald
Geschrieben am: 12.06.2015 16:06:30
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

 Bild

Beiträge aus den Excel-Beispielen zum Thema "aus Excel heraus Word Dokument zusammenstellen"