Word VBA: Copy tables from one document to another.
The code below does copy the tables to a new document, but they end up as nested tables. In the original document, there are 3 paragraphs between the two tables. How can I unselect the first table after I post it in the new document, add a paragraph after the table, and then paste the second table?
Sub ExtractTablesFromOneDoc() Dim objTable As Table Dim objDoc As Document Dim objNewDoc As Document Dim objRange As Range Dim o As Paragraph Set objDoc = ActiveDocument Set objNewDoc = Documents.Add For Each objTable In objDoc.Tables objTable.Range.Select Debug.Print objTable.Title Selection.Copy ' Paste tables to new document in rich text format. Set objRange = objNewDoc.Range objRange.Collapse Direction:=wdCollapseEnd objRange.PasteSpecial DataType:=wdPasteRTF objRange.Collapse Direction:=wdCollapseEnd Next objTableEnd Sub
Add objRange.InsertParagraphAfter before the Next.
For Each objTable In objDoc.Tables objTable.Range.Select Debug.Print objTable.Title Selection.Copy ' Paste tables to new document in rich text format. Set objRange = objNewDoc.Range objRange.Collapse Direction:=wdCollapseEnd objRange.PasteSpecial DataType:=wdPasteRTF objRange.Collapse Direction:=wdCollapseEnd objRange.InsertParagraphAfter Next objTable
What I suggested does seem to be pasting the table separately to the new document but it appears to be placing them on top of each other.
I've tried a few things but the only way I've managed to separate the tables in the new document is to insert a page break between them, which I don' think is ideal.
How do you want the copied tables to appear in the new document?
Open in new window