ich möchte per Excel-VBA mehrere Word-Dokumente zu einem einzigen Word-Dokument zusammenfügen, also die Texte einfach aneinanderhängen und in einem neuen Word-Dokument speichern.
Wie geht das?
Gruß Anette
Sub files_insert()
On Error Resume Next
Const pfad1 As String = "c:\mypath\"
Const docName As String = "AllDocs.doc"
Dim wd As Word.Application
Dim Newdoc As Word.Document
Dim i As Integer
Dim name1 As String
Application.ScreenUpdating = False
ChDir (pfad1)
Kill docName 'falls Datei "AllDocs.doc" bereits vorhanden
Set wd = CreateObject("Word.Application")
If wd Is Nothing Then
MsgBox "Konnte keine Verbindung zu Word herstellen!", 16, "Problem"
Exit
Sub 'Prozedur beenden im Fehlerfall
End If
wd.Visible = True
Set Newdoc = Word.Documents.Add
Newdoc.SaveAs pfad1 & docName
wd.Selection.TypeParagraph
wd.Selection.Paragraphs(1).Style = ActiveDocument.Styles("Überschrift 1")
With Application.FileSearch
.NewSearch
.LookIn = pfad1
.FileType = msoFileTypeWordDocuments
.Execute msoSortByFileName
For i = 1 To .FoundFiles.Count '
name1 = .FoundFiles(i)
If UCase(name1) <> UCase(pfad1 & docName) Then
wd.Documents.Open name1
With wd.Windows(docName).Selection
.TypeText Text:=name1
.TypeParagraph
.InsertFile Filename:=name1
End With
wd.Documents(name1).Close (wdDoNotSaveChanges)
End If
Next i
End With
Newdoc.Close wdSaveChanges
wd.Quit
Set wd = Nothing
End Sub
Um mehrere Word-Dokumente in einem neuen Dokument zusammenzuführen, kannst Du VBA (Visual Basic for Applications) in Excel verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
Füge ein neues Modul hinzu:
Kopiere den folgenden VBA-Code in das Modul:
Sub files_insert()
On Error Resume Next
Const pfad1 As String = "c:\mypath\"
Const docName As String = "AllDocs.doc"
Dim wd As Word.Application
Dim Newdoc As Word.Document
Dim i As Integer
Dim name1 As String
Application.ScreenUpdating = False
ChDir (pfad1)
Kill docName 'falls Datei "AllDocs.doc" bereits vorhanden
Set wd = CreateObject("Word.Application")
If wd Is Nothing Then
MsgBox "Konnte keine Verbindung zu Word herstellen!", 16, "Problem"
Exit Sub
End If
wd.Visible = True
Set Newdoc = wd.Documents.Add
Newdoc.SaveAs pfad1 & docName
wd.Selection.TypeParagraph
wd.Selection.Paragraphs(1).Style = ActiveDocument.Styles("Überschrift 1")
With Application.FileSearch
.NewSearch
.LookIn = pfad1
.FileType = msoFileTypeWordDocuments
.Execute msoSortByFileName
For i = 1 To .FoundFiles.Count
name1 = .FoundFiles(i)
If UCase(name1) <> UCase(pfad1 & docName) Then
wd.Documents.Open name1
With wd.Windows(docName).Selection
.TypeText Text:=name1
.TypeParagraph
.InsertFile Filename:=name1
End With
wd.Documents(name1).Close (wdDoNotSaveChanges)
End If
Next i
End With
Newdoc.Close wdSaveChanges
wd.Quit
Set wd = Nothing
End Sub
Ändere den Pfad in Const pfad1 zu dem Verzeichnis, in dem sich Deine Word-Dokumente befinden.
Führe das Skript aus, indem Du F5 drückst oder auf "Ausführen" klickst.
"Benutzerdefinierter Typ nicht definiert": Dieser Fehler tritt auf, wenn der Verweis auf die "Microsoft Word xx Object Library" nicht gesetzt ist. Um dies zu tun:
Datei wird nicht gefunden: Stelle sicher, dass der angegebene Pfad korrekt ist und die Word-Dokumente sich im richtigen Ordner befinden.
Wenn Du kein VBA verwenden möchtest, kannst Du auch die Funktion "Objekte einfügen" in Word selbst nutzen:
Einzelne Word-Dokumente zusammenfügen: Du kannst den obigen VBA-Code anpassen, um nur bestimmte Dokumente auszuwählen, indem Du den Dateinamen direkt angibst.
Mehrere Word-Dokumente zusammenführen: Verwende den VBA-Code, um alle Word-Dateien in einem Ordner zu einem einzigen Dokument zu verbinden. Dies ist besonders nützlich, wenn Du viele Dokumente verwalten musst.
1. Wie kann ich mehrere Word-Dokumente zu einem zusammenfügen?
Verwende den VBA-Code oben, um alle Dokumente in einem bestimmten Ordner in ein neues Word-Dokument zusammenzuführen.
2. Funktioniert das auch mit Word für Mac?
Der VBA-Code ist für Windows ausgelegt. Du müsstest möglicherweise alternative Skripte oder Methoden für macOS verwenden.
3. Kann ich auch PDF-Dateien zusammenfügen?
Der gegebene Code ist für Word-Dokumente erstellt. Für PDF-Dateien benötigst Du ein anderes Vorgehen oder spezielle Software.