复制和粘贴多个Word文档VBA

时间:2014-10-20 10:56:30

标签: vba excel-vba excel

在将现有word文档复制并粘贴到新文档时,我遇到了问题!我可以使用下面的代码将文档1和2中的内容复制并粘贴到新文档中,但是当将document2粘贴到新文档中时,它会直接粘贴到从document1复制的材料下面。我希望将从document2复制的材料粘贴到另一个材料下面的新页面上,这样有人可以帮我一把,或者在正确的方向上轻推一下。

Sub automateword()

    Dim wordapp As Object
    Set wordapp = CreateObject("word.Application")

    ''''creates and saves new Document''''
    With CreateObject("Word.Document")
        .Windows(1).Visible = True
        .SaveAs Filename:="C:\NewDocumnet.docx", FileFormat:=wdFormatDocument
    End With

    wordapp.Documents.Open "C:\Document1.docx"
    wordapp.Selection.WholeStory
    wordapp.Selection.Copy
    wordapp.Documents("C:\NewDocumnet.docx").Activate
    wordapp.Selection.PasteAndFormat wdInLine

    wordapp.Documents.Open "C:\Document2.docx"
    wordapp.Selection.WholeStory
    wordapp.Selection.Copy
    wordapp.Documents("C:\NewDocumnet.docx").Activate
    wordapp.Selection.PasteAndFormat wdInLine

    wordapp.Visible = True
End Sub

3 个答案:

答案 0 :(得分:1)

  

我希望将从document2复制的材料粘贴到其他材料下面的新页面

插入分页符并进行粘贴。这是一个例子

oWordApp.Selection.PasteAndFormat wdInLine

With oWordApp.Selection
    .Collapse Direction:=0
    .InsertBreak Type:=7
End With

'~~> Put here the copy code. i.e What ever you are copying

oWordApp.Selection.PasteAndFormat wdInLine

答案 1 :(得分:0)

您有不同的文件名,请查看以下docx和docxx扩展名:

wordapp.Documents("C:\NewDocumnet.docx").Activate '
wordapp.Selection.PasteAndFormat wdInLine

wordapp.Documents.Open "C:\Document2.docx"
wordapp.Selection.WholeStory
wordapp.Selection.Copy
wordapp.Documents("C:\NewDocumnet.docxx").Activate 'different file name
wordapp.Selection.PasteAndFormat wdInLine

答案 2 :(得分:0)

您可以使用以下代码段添加分页符 在末尾。这应该保持副本清洁。 希望它有所帮助。

external routine