【问题标题】:Copy and Pasting from multiple word documents VBA从多个word文档VBA复制和粘贴
【发布时间】:2014-10-20 10:56:29
【问题描述】:

在将现有 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

【问题讨论】:

    标签: vba excel


    【解决方案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
    

    【讨论】:

    • 这正是我想要的!非常感谢您的帮助
    【解决方案2】:

    你有不同的文件名,看看下面的 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
    

    【讨论】:

    • 这是一个错字对不起,我的代码不是这样的!
    【解决方案3】:

    可以使用以下代码sn-p添加分页符 在末尾。这应该保持副本干净。 希望对您有所帮助。

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多