In EXCEL kombiniere ich ein paar Word-Dokumente mit VBA. Mein Arbeitsablauf ist:Word-Dokumente in VBA EXCEL zusammenführen (Ausgabe: umgekehrte Reihenfolge)
- Öffnen Sie eine Vorlage und entfernen Sie alle vorhandenen Text (nur die format_ halten
- durch Kopieren jedes Wort Dokument eine Schleife beginnen zu kombinieren (I wird von der Linie 13 von jeder Datei kopieren)
- einfügen in die zusammengefügte Datei
Bisher meisten Schritte sind gut, außer dass die zusammengefügte Datei ist in revers Ordnung, die eigentlich die letzte Seite des kombinierten Dokuments bedeutet, dass das erste geöffnete Dokument ist. gibt es eine Möglichkeit, Text in der normalen Reihenfolge einzufügen? Danke!
Set newDoc = objWord.Documents.Open(path to template)
'clear template text in this template
objWord.Selection.WholeStory
objWord.Selection.Delete
For i = 1 To NoOfFiles
Set objDoc = objWord.Documents.Open(Folderpath to output files)
' goto line 13
Set r = objDoc.Goto(what:=3, which:=wdGoToNext, Count:=13)
r.End = objDoc.Range.End
r.Copy
newDoc.Content.InsertBreak Type:=wdSectionBreakNextPage
newDoc.Range(newDoc.Content.Start, newDoc.Content.Start).Paste
End If
Next
Ihr Bereich, in den Sie einfügen, ist der Anfang des Dokuments (newDoc.Content.Start). Vielleicht versuchen Sie newDoc.Content.End? – leowyn
@leowyn, Ich habe versucht 'newDoc.Range (newDoc.Content.End, newDoc.Content.Start) .Paste', aber habe' Wert außerhalb des Bereichs' Fehler –
Die beiden Parameter, die an Range übergeben werden, sind die Anfangs- und End-Cursorpositionen. Wenn Sie 'newDoc.Range (newDoc.Content.End, newDoc.Content.Start) .Paste' verwenden, dann versuchen Sie, einen Bereich zu erstellen, der vom Ende des Dokuments bis zum Anfang zurückgeht. Versuchen Sie 'newDoc.Range (newDoc.Content.End, newDoc.Content.End) .Paste' – leowyn