通过VBA快速将多个Word文档合并为一个的2种方法

立即分享:

在本文中,我们很高兴与您分享两种通过 VBA 快速将多个 Word 文档合并为一个文档的方法。

在 Word 中,有一个默认的内置功能可以帮助用户将多个文档合并或合并为一个文档。 详情在这篇文章中解释: 如何将多个 Word 文档合并为一个文档将多个 Word 文档合并为一个

使用这种方法,您必须单击几下,下一个文档的内容总是紧随上一个文档的内容之后出现。 因此,我们希望为您提供更快捷的方式。

方法一:将选中的文档合并为一个

  1. 首先和形式ost, 创建一个新的空白文档。
  2. 按“Alt+F11”在 Word 中触发 VBA 编辑器。
  3. 接下来点击“正常”。
  4. 然后点击“插入”。
  5. 并选择“模块”。点击“普通”->点击“插入”->点击“模块”
  6. 双击新模块打开编辑空间。
  7. 将以下宏粘贴到那里:
Sub MergeMultiDocsIntoOne()
  Dim dlgFile As FileDialog
  Dim nTotalFiles As Integer
  Dim nEachSelectedFile As Integer

  Set dlgFile = Application.FileDialog(msoFileDialogFilePicker)
 
  With dlgFile
    .AllowMultiSelect = True
    If .Show <> -1 Then
      Exit Sub
    Else
      nTotalFiles = .SelectedItems.Count
    End If
  End With
 
  For nEachSelectedFile = 1 To nTotalFiles
    Selection.InsertFile dlgFile.SelectedItems.Item(nEachSelectedFile)
    If nEachSelectedFile < nTotalFiles Then
      Selection.InsertBreak Type:=wdPageBreak
    Else
      If nEachSelectedFile = nTotalFiles Then
        Exit Sub
      End If
    End If
  Next nEachSelectedFile
End Sub
  1. 接下来单击“运行”或按“F5”。粘贴宏->单击“运行”
  2. 现在在“浏览”窗口中,按“Ctrl”选择多个文件,然后单击“确定”。选择文件->单击“确定”
  3. 然后将所选文件中的所有内容拼凑到新文档中,每个文档的文本 star在新的一页上。

请注意:

正如我们提到的,这个宏将每个文档的文本放在一个新页面上。 但如果你需要它们一个接一个地出现,你可以改变宏中的一些代码行。 只需找到“If nEachSelectedFile < nTotalFiles Then”行,将其删除以及接下来的六行。

方法 2:将文件夹中的所有文档合并为一个

如果您有一个要合并的文件夹,那么这个宏应该可以很好地工作。

  1. 到tart 关闭,按照方法 1 中的说明安装并运行宏。
  2. 然后用这个替换宏:
Sub MergeFilesInAFolderIntoOneDoc()
  Dim dlgFile As FileDialog
  Dim objDoc As Document, objNewDoc As Document
  Dim StrFolder As String, strFile As String
 
  Set dlgFile = Application.FileDialog(msoFileDialogFolderPicker)
 
  With dlgFile
    If .Show = -1 Then
      StrFolder = .SelectedItems(1) & "\"
    Else
      MsgBox ("No folder is selected!")
      Exit Sub
    End If
  End With
 
  strFile = Dir(StrFolder & "*.docx", vbNormal)
  Set objNewDoc = Documents.Add
 
  While strFile <> ""
    Set objDoc = Documents.Open(FileName:=StrFolder & strFile)
    objDoc.Range.Copy
    objNewDoc.Activate
    With Selection
      .Paste
      .InsertBreak Type:=wdPageBreak
      .Collapse wdCollapseEnd
    End With
 
    objDoc.Close SaveChanges:=wdDoNotSaveChanges
 
    strFile = Dir()
  Wend
 
  objNewDoc.Activate
  Selection.EndKey Unit:=wdStory
  Selection.Delete
End Sub
  1. 单击“运行”运行宏。
  2. 接下来您会看到“浏览”窗口打开。 选择存储所有文档的文件夹。 然后单击“确定”。

同样,每个文档的文本tarts 在一个新的页面上。 为了让它们一个接一个地粘在一起,找到并删除代码行“.InsertBreak Type:=wdPageBreak”。

妥善保护您的Word文档

保护 Word 文档的最佳方法之一是定期备份它们。 有了备份,您永远不必担心数据丢失。 此外,最好有一个工具来 修复文档 如果其中任何一个被损坏。

作者简介:

Vera Chen 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 损坏的Excel 和 pdf 修复软件产品。 欲了解更多信息,请访问 datanumen.com

立即分享:

评论被关闭。