合并MS Word文件的工具

时间:2008-11-10 09:38:11

标签: merge ms-word ms-office

我需要将大量的Word文件合并(加入)到一个文件中,并且使用Word合并(一个接一个)将非常耗时。您是否经历过任何可以处理这项工作的工具?

3 个答案:

答案 0 :(得分:4)

Sub MergeAllDocuments(AllDocumentsPath as String, MasterDocumentPath as String)
  Dim MasterDocument As Document

  Set MasterDocument = Documents.Open(FileName:=MasterDocumentPath)

  TheDocumentPath = Dir(AllDocumentsPath , vbNormal)
  While TheDocumentPath <> ""
    ' Append the next doc to the end of the master doc. (The 
    ' special "\EndOfDoc" bookmark is always available!)
    MasterDocument.Bookmarks("\EndOfDoc").Range.InsertFile TheDocumentPath
    TheDocumentPath = Dir
  Wend

  MasterDocument.Save
End Sub

MergeAllDocuments "C:\MySeparateDocuments\*.doc", "C:\MasterDocument.doc"

我有一个问题 - 你为什么要做这样的事情(至少有“数量庞大”的文件)?

答案 1 :(得分:2)

前一段时间我遇到了Graham Skan的一篇文章。它可能会让你开始:

Sub InsertFiles()
    Dim strFileName As String
    Dim rng As Range
    Dim Doc As Document
    Const strPath = "C:\Documents and Settings\Graham Skan\My Documents\Allwork\" 'adjust as necessary '"

    Set Doc = Documents.Add
    strFileName = Dir$(strPath & "\*.doc")
    Do
        Set rng = Doc.Bookmarks("\EndOfDoc").Range
        If rng.End > 0 Then 'section break not necessary before first document.'
            rng.InsertBreak wdSectionBreakNextPage
            rng.Collapse wdCollapseEnd
        End If
        rng.InsertFile strPath & "\" & strFileName
        strFileName = Dir$()
    Loop Until strFileName = ""
End Sub

答案 2 :(得分:0)

您是否尝试过使用Word COM api?您可以自动执行许多操作 - 也许您可以自动执行合并。

您是否真的需要进行实际合并,或者您是否想要将这些文件合并在一起。这两件事情完全不同。

当您有两个版本的原始文件(可能存在冲突)更改时,将使用合并。我真的不知道你将如何拥有一个“大量”的文件,你需要将它们合并在一起。这将是冲突的绝对噩梦。你的意思是将它们的集合合并到单个文件中吗?

加入将是你想要一个接一个地连接它们。这将更容易做到。这很可能使用COM api。