5

У меня есть около 50 файлов .doc , которые выглядят идеально (они извлекаются с помощью Able2Extract). Теперь я хочу объединить эти 50 файлов в один огромный .doc . Я пытался использовать встроенную функцию Word "Вставить", но это испортило весь формат. Я хочу сохранить все, что у меня есть. Как и просто документ1 -> документ2 -> документ3 .

Ничего "умного" или "умного" не нужно во время преобразования, только возможность присоединиться к ним. (Таким образом, делая их доступными для поиска, это конечная цель.) Я не против, если метод / решение применяет одну пустую страницу на каждом конце документа либо.

2 ответа2

2

Должны ли документы быть в формате .doc после их создания? Вы можете попробовать объединить их в большой PDF-файл с помощью Adobe Acrobat или чего-то подобного. Это позволит достичь вашей цели - объединить все документы в доступном для поиска формате, сохраняя при этом форматирование / макет каждого из них в отдельности.

0

Лучший способ объединить документы, сохранив исходное форматирование, - это использовать VBA и автоматизировать шаги, которые нужно выполнить, чтобы соединить документы вручную. Вам нужно будет помнить несколько вещей, чтобы форматирование оставалось неизменным:

  • Убедитесь, что каждый документ отделен новым разделом
  • Убедитесь, что каждый документ импортирован с помощью Сохранить исходное форматирование.

Следующий макрос VBA должен помочь автоматизировать процесс, помня об этом. Я не проверял это сначала, поэтому я прошу прощения, если есть какие-либо ошибки.

Sub CombineAll(sPath As String) 
    Dim baseDoc As Document, sFile As String 
    Set baseDoc = Application.Documents.Open(sPath & "BaseDoc.doc") 

    sFile = Dir(sPath & "*.doc") 
     'Loop through all .doc files in that path
    Do While sFile <> "" 

       Set sourceDoc = Application.Documents.Open(sPath & sFile) 
       Application.Selection.WholeStory
       Application.Selection.Copy
       Application.ActiveWindow.Close savechanges:=wdDoNotSaveChanges
       baseDoc.Activate

       Application.Selection.PasteAndFormat (wdFormatOriginalFormattig)
       baseDoc.InsertBreak Type:=wdSectionBreakNextPage
       sFile = Dir 
    Loop 
End Sub 

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