2014-10-20 575 views
1

從現有的word文檔複製並粘貼到新文檔時,我遇到了問題!我可以將文檔1和文檔2中的內容複製並粘貼到具有下面代碼的新文檔中,但是,當將文檔2粘貼到新文檔中時,它將直接粘貼到從文檔1複製的材料下。我希望將從文檔2複製的材料粘貼到其他材料下面的新頁面中,這樣可能有人請給我一個這樣的或正確方向的微調。從多個word文檔中複製和粘貼VBA

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 

回答

1

我想從書2複製的材料,下面的其他材料

粘貼到一個新的一頁

插入分頁符並進行粘貼。下面是一個例子

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 
+0

這正是我正在尋找的!非常感謝您的幫助 – user3538102 2014-10-20 11:06:25

+0

很高興爲您工作:) – 2014-10-20 11:11:19

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 
+0

這是一個錯字,抱歉,它不是這樣在我的代碼! – user3538102 2014-10-20 11:04:56

0

您可以使用下面的代碼片段在末尾添加分頁符 。這應該保持副本清潔。 希望它有幫助。

Set MainDoc = Application.Documents.Open(strFolder & "BaseDoc.doc") 
strFile = Dir$(strFolder & "*.doc") ' can change to .docx 
'Loop through all .doc files in that path 
Do Until strFile = "" 
    Set sourcedoc = Application.Documents.Open(strFolder & "*.doc") 
    Application.Selection.WholeStory 
    Application.Selection.Copy 
    Application.ActiveWindow.Close savechanges:=wdDoNotSaveChanges 
    MainDoc.Activate 

    Application.Selection.PasteAndFormat (wdFormatOriginalFormattig) 
    MainDoc.InsertBreak Type:=wdSectionBreakNextPage 
Loop