Я видел несколько вопросов и ответов о том, как сравнивать два документа Word, и я видел несколько вопросов и ответов о том, как сравнивать три или более необработанных текстовых файла, но я изо всех сил пытаюсь найти метод для сравнения трех или более Документы Word.

Мне не нужно сравнивать форматирование, и я не возражаю, если я не смогу их редактировать или объединить, но я бы хотел, чтобы различия в файлах были выделены. Я знаю, что могу скопировать текст в текстовые файлы и использовать его в инструментах сравнения только для необработанного текста, но некоторые из документов Word, которые мне нужно сравнить, довольно большие.

2 ответа2

0

Я не знаю, как можно сравнивать более двух документов одновременно на экране.

Если у вас есть несколько ревизионных документов, вы можете объединить их в один новый документ, но вы, вероятно, уже знаете об этой функции.

Если у вас есть несколько документов ревизий, и вы хотите немного "автоматизировать" процесс, чтобы сократить некоторые из вводимых вручную действий, вы можете использовать макрос, подобный приведенному ниже.

Sub CompareDocs()
    Dim doc As word.Document, iDoc As word.Document, rDoc As word.Document
    Dim selFiles() As String, strFolderPath As String
    Dim Sep As String, i As Long
    On Error GoTo errHandler

    Sep = Application.PathSeparator
    Set doc = ActiveDocument
    Application.ScreenUpdating = False
    With Application.FileDialog(msoFileDialogFilePicker)
        .Title = "Select the files to compare to your source document"
        .InitialFileName = curDir
        .AllowMultiSelect = True
        If .Show = 0 Then
            Exit Sub
        End If
        ReDim Preserve selFiles(.SelectedItems.Count - 1)
        strFolderPath = Left(.SelectedItems(1), InStrRev(.SelectedItems(1), Sep))
        For i = 0 To .SelectedItems.Count - 1
            selFiles(i) = .SelectedItems(i + 1)
        Next
    End With
    For i = 0 To UBound(selFiles)
        Set iDoc = Documents.Open(selFiles(i))
        Set rDoc = Application.CompareDocuments(OriginalDocument:=doc, RevisedDocument:=iDoc, _
        CompareFormatting:=False, CompareComments:=False)
        rDoc.SaveAs2 strFolderPath & "Compared_" & iDoc.Name
        rDoc.Close
        iDoc.Close
    Next
    Application.ScreenUpdating = True
    MsgBox "Document Compares Complete"
    Exit Sub
errHandler:
    MsgBox Err.Description, vbCritical, "Compare Docs"
    Err.Clear
    Application.ScreenUpdating = True
End Sub
0

Программное обеспечение http://winmerge.org/ имеет возможность выполнить трехстороннее сравнение файлов. Ссылка на скриншот.

Есть несколько доступных плагинов, которые могут помочь вам с Word частью вашего вопроса.

Однако сравнение текста, вероятно, наиболее эффективно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .