In this article, we are glad to share with you 2 ways to quickly merge multiple Word documents into one via VBA.
In Word, there is the default built-in feature to help user combine or merge several documents into one. Details are explained in this article: How to Combine & Merge Multiple Word Documents into One
With that method, you have to make a couple of clicks and the contents of next document always come right after that of the previous one. Therefore, we want to offer you quicker ways to do so.
Method 1: Merge Selected Documents into One
- First and foremost, create a new blank document.
- Trigger VBA editor in Word by pressing “Alt+ F11”.
- Next click “Normal”.
- Then click “Insert”.
- And choose “Module”.
- Double click on new module to open the editing space.
- Paste the following macro there:
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
- Next click “Run” or hit “F5”.
- Now in “Browse” window, select multiple files by pressing “Ctrl” and click “OK”.
- Then all contents in selected files will be pieced together in the new document, with texts of each document starting on a new page.
Note:
As we mentioned, this macro puts texts of each document on a new page. But if you need them to be one after another, you can alter some code lines in the macro. Just find line “If nEachSelectedFile < nTotalFiles Then”, the delete it and the next six lines as well.
Method 2: Merge All Documents in a Folder into One
In case you have a folder of files to be combined, then this macro shall work beautifully.
- To start off, install and run macro as described in method 1.
- Then replace macro with this one:
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
- Run the macro by clicking “Run”.
- Next you see “Browse” window open. Select the folder where you store all documents. And click “OK”.
Similarly, texts of each document starts on a new page. To make them stick together one after another, find and delete code line “.InsertBreak Type:=wdPageBreak”.
Protect Your Word Document Properly
One of the best ways to protect your Word documents is to back them up on a regular basis. With backups in hand, you will never have to fear the loss of data. Besides, it’s also advisable to get a tool to repair docx if any of them shall be damaged.
Author Introduction:
Vera Chen is a data recovery expert in DataNumen, Inc., which is the world leader in data recovery technologies, including damaged Excel and pdf repair software products. For more information visit www.datanumen.com
Иногда нам может потребоваться объединить несколько документов в один, когда вы используете приложения Microsoft Word. В Word вы можете объединить несколько документов Word в один одним из следующих сложных способов:
- Объединяйте несколько документов один за другим с помощью функции «Вставить текст из файла»
- Массовое объединение нескольких документов с помощью VBA
- Объединяйте несколько документов одновременно с Kutools for Word
- Объединяйте несколько документов один за другим с помощью функции копирования и вставки
Объедините несколько документов в один с помощью функции «Вставить текст из файла»
Вы можете объединить несколько документов в один, используя Текст из файла в Word, но при этом вы потеряете формат документов после объединения.
1. Создайте новый документ Word, поместите объединенные документы, а затем нажмите Вставить > объект > Текст из файла. Смотрите скриншот:
2. В открывшемся диалоговом окне «Вставить файл» (1) откройте папку с документами, которые вы собираетесь объединить; (2) выберите документы, которые вы хотите объединить; а потом (3) нажмите Вставить кнопка. Смотрите скриншот:
Функции: Держа Ctrl клавиша, вы можете выбрать несколько документов, щелкая их по одному; держа Shift клавишу, вы можете выбрать несколько смежных документов, щелкнув первый и последний.
3. Если документы, которые необходимо объединить, сохранены в разных папках, повторите шаги 1-2, указанные выше, по мере необходимости.
Внимание: Вы не можете упорядочить документы в объединенном файле, иначе вы будете вставлять их по одному.
Быстрое объединение нескольких документов Word из множества папок в большом количестве в указанном порядке
Kutools for Word выпускает фантастический идти функция, помогающая пользователям быстро объединить несколько документов Word из многих папок. Эта функция не только сохранит исходный формат документов в объединенном файле, но и объединит документы в указанном вами порядке.
Объедините несколько документов в один с помощью VBA
Кроме того, вы можете использовать VBA для объединения нескольких документов в один в Word.
1. Переместите все объединяемые документы Word в одну папку.
2. Переименуйте документы Word с помощью ряда последовательных имен. (1) Щелкните документ правой кнопкой мыши и выберите Переименовывать из контекстного меню, а затем введите новое имя, например Part1; (2) Повторите, чтобы переименовать другие документы. Смотрите скриншот:
3. Дважды щелкните, чтобы открыть документ, который вы поместите в начало объединенного файла.
4, нажмите Alt + F11 вместе, чтобы открыть окно Microsoft Visual Basic для приложения.
5. Нажмите Вставить > Модули, а затем вставьте ниже код VBA в новое окно модуля;
VBA: объединить несколько документов в Word
Sub MergeDocuments()
Application.ScreenUpdating = False
MyPath = ActiveDocument.Path
MyName = Dir(MyPath & "" & "*.docx")
i = 0
Do While MyName <> ""
If MyName <> ActiveDocument.Name Then
Set wb = Documents.Open(MyPath & "" & MyName)
Selection.WholeStory
Selection.Copy
Windows(1).Activate
Selection.EndKey Unit:=wdLine
Selection.TypeParagraph
Selection.Paste
i = i + 1
wb.Close False
End If
MyName = Dir
Loop
Application.ScreenUpdating = True
End Sub
Внимание: Этот VBA может объединять только документы Word с расширениями файлов docx. Если вам нужно объединить документы (.doc), замените DOCX в коде MyName = Dir (MyPath & «» & «* .docx») в док.
6.Щелкните Run или нажмите F5 ключ для применения VBA.
Примечание: вам необходимо переименовать документы с помощью ряда последовательных имен, иначе документы могут быть неупорядочены или потеряны в объединенном файле.
Объединяйте несколько документов в один документ и сохраняйте формат с помощью Kutools for Word
После того, как вы установили Kutools for Word, вам не нужно создавать новый пустой документ или помещать документ в ту же папку. С участием идти Kutools, вы можете быстро объединить несколько документов в один в Word. Пожалуйста, сделайте следующее:
Kutools for Word это удобная надстройка, облегчающая вашу работу и расширяющая возможности обработки текстовых документов. Бесплатная пробная версия для 60 дней! Получи это сейчас!
1. Нажмите Кутулс Плюс > идти. Смотрите скриншот:
2. В открывшемся диалоговом окне «Объединить документы» добавьте документы, которые вы хотите объединить: (1) Нажмите Добавить файлы кнопка; (2) В диалоговом окне Обзор откройте папку, содержащую документы, которые вы хотите объединить; (3) проведение Ctrl or Shift ключ для выбора этих документов; а потом (4) нажмите OK кнопка. Смотрите скриншот:
Функции:
(1) Если вам нужно объединить документы, которые сохранены в разных папках, повторите этот шаг, чтобы добавлять их один за другим;
(2) Вы также можете добавить все документы, сохраненные в одной папке, с помощью Add Folder кнопку.
3. Теперь вы вернетесь в диалоговое окно «Объединить документы», пожалуйста. (1) заказать эти документы Переместить вверх и Переместить вниз пуговицы; (2) указать перерыв между документами из Перерыв между документами раскрывающийся список; а потом (3) нажмите идти кнопка. Смотрите скриншот:
Теперь все указанные документы Word объединены в новый документ, как показано ниже:
Примечание: К вашему сведению, исходное форматирование всех объединенных документов зарезервировано в объединенном результате.
Конечно, вы можете сначала открыть все документы Word, а затем объединить их вручную путем копирования и вставки.
Просмотр и редактирование нескольких документов Word с вкладками в Firefox, Chrome, Internet Explore 10!
Возможно, вы знакомы с просмотром нескольких веб-страниц в Firefox / Chrome / IE и возможностью переключения между ними, легко щелкая соответствующие вкладки. Здесь вкладка Office поддерживает аналогичную обработку, которая позволяет просматривать несколько документов Word в одном окне Word и легко переключаться между ними, щелкая их вкладки. Нажмите, чтобы получить полную бесплатную пробную версию!
Относительные статьи:
Рекомендуемые инструменты для повышения производительности Word
Kutools For Word — Более 100 расширенных функций для Word, сэкономьте 50% времени
- Сложные и повторяющиеся операции можно производить разово за секунды.
- Вставляйте сразу несколько изображений из папок в документ Word.
- Объединяйте и объединяйте несколько файлов Word из папок в одну в желаемом порядке.
- Разделите текущий документ на отдельные документы в соответствии с заголовком, разрывом раздела или другими критериями.
- Преобразование файлов между Doc и Docx, Docx и PDF, набор инструментов для общих преобразований и выбора и т. Д.
Как объединить несколько файлов Ворд в один
На чтение 4 мин Просмотров 264
Иногда у нас возникает необходимость объединить несколько файлов Ворд в один. На той странице мы рассмотрим два способа, как это можно сделать. Но прежде, чем приступить к объединению нескольких документов в один, убедитесь, что все документы лежат у вас в одной папке. Сделали? Тогда приступим.
Объединяем документы с помощью «Текст из файла»
Этот способ поможет вам соединить несколько файлов в один, но знайте, что при этом будет потеряно форматирование в готовом документе.
Шаг 1.
Создайте новый пустой документ: иконка «Офиса», затем «Создать».
Шаг 2.
Перейдите на вкладку «Вставка», найдите в разделе «Текст» кнопку «Объект» и нажмите на стрелочку вниз.
Шаг 3.
В диалоговом окне выберите «Текст из файла».
Шаг 4.
Выберите все файлы, которые вы желаете объединить в один.
Чтобы выбрать все сразу файлы нажмите CTRL + A. Если вы желаете выбрать несколько файлов подряд, то выделите первый из них, затем зажмите клавишу SHIFT и выберите последний — промежуточные выделяться автоматически. Если вам нужно выбрать, к примеру, все нечетные файлы, то выделяйте их левой кнопкой мыши, держа клавишу CTRL.
Шаг 5.
После того, как файлы выделены, нажмите на кнопку «Вставить», и документы отправятся в созданный вами документ.
Объединяем документы с помощью скрипта VBA
Прежде чем приступить к запуску следующего скрипта, прошу вас, проделайте эти инструкции:
- Соберите все документы, которые вы будете объединять в одну папку и пронумеруйте их в том порядке, в котором они должны быть. Например так: часть 1, часть 2 и т.д. Необходимо это сделать для того, чтобы в процессе объединения документов не был перепутан материал.
- Откройте документ с тем материалом, который будет размещен самый первым, и только после этого приступайте к запуску скрипта.
Шаг 1.
В окне Ворда нажмите на сочетание клавиш ALT + F11 для запуска Visual Basic Application.
Шаг 2.
В меню «Insert» — «Module». Теперь скопируйте код скрипта и вставьте его в окне VBA.
Шаг 3.
Запустите выполнение кода, нажав F5 на клавиатуре, либо на панели на зеленый треугольник.
VBA скрипт, чтобы объединить несколько файлов Word в один.
Sub MergeDocuments() Application.ScreenUpdating = False MyPath = ActiveDocument.Path MyName = Dir(MyPath & "" & "*.doc") i = 0 Do While MyName <> "" If MyName <> ActiveDocument.Name Then Set wb = Documents.Open(MyPath & "" & MyName) Selection.WholeStory Selection.Copy Windows(1).Activate Selection.EndKey Unit:=wdLine Selection.TypeParagraph Selection.Paste i = i + 1 wb.Close False End If MyName = Dir Loop Application.ScreenUpdating = True End Sub
Эти способы справедливы для разных версий Microsoft Word 2007, 2010, 2013, 2016, 2019.
Удачи в изучении. Переходите к другим урокам.
Немного юмора:
– Почему ваш антивирус так долго фильм проверяет?
– Он его смотрит.
0 / 0 / 0 Регистрация: 19.09.2014 Сообщений: 6 |
|
1 |
|
03.10.2014, 14:03. Показов 4674. Ответов 7
Доброго времени суток форумчане! Нашел на форуме тему » Объединить заданные пользователем открытые файлы word в один файл». «Апострофф» предложил отличный код, который сводит в один word-кий файл все закрытые файлы одного каталога. Код работает. Как доработать код, что бы после объединения, удалялись все таблицы с объединенного файла. Заранее всем спасибо.
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
03.10.2014, 14:03 |
7 |
0 / 0 / 0 Регистрация: 19.09.2014 Сообщений: 6 |
|
03.10.2014, 16:29 [ТС] |
3 |
«Апострофф» доброго времени суток! Спасибо за подсказки. «Объединить закрытые файлы word одного каталога в один файл» работает, но таблицы в колонтитулах не убирает. Как удалить и колонтитулы? Спасибо.
0 |
0 / 0 / 0 Регистрация: 19.09.2014 Сообщений: 6 |
||
06.10.2014, 07:51 [ТС] |
4 |
|
Доброго времени суток! Задаю папку и пытаюсь открыть файлы, но что то не так. Как подправить код, что бы выбирал папку вне зависимости, где находится файл объединения. Спасибо Вложения
0 |
shanemac51 Модератор 11341 / 4660 / 748 Регистрация: 07.08.2010 Сообщений: 13,497 Записей в блоге: 4 |
||||
06.10.2014, 08:20 |
5 |
|||
0 |
0 / 0 / 0 Регистрация: 19.09.2014 Сообщений: 6 |
|
06.10.2014, 09:20 [ТС] |
6 |
Доброе утро shanemac51! Спасибо за отзывчивость. При выполнении макроса, я выбираю папку и файлы объединяются. Когда я выбираю другую папку то файлы не объединяются а загружаются предыдущие.
0 |
Заблокирован |
||||
06.10.2014, 10:13 |
7 |
|||
Сообщение было отмечено nwcop как решение Решение
1 |
0 / 0 / 0 Регистрация: 19.09.2014 Сообщений: 6 |
|
06.10.2014, 13:12 [ТС] |
8 |
Добрый день Апострофф! Спасибо огромное. Протестировали все работает.
0 |
Dim Ozerov Пользователь Сообщений: 99 |
Здравствуйте. Помогите решить вопрос. Как макросом провести объединение doc файлов из столбца в определенном порядке ? Прикрепленные файлы
|
Sanja Пользователь Сообщений: 14838 |
Как раз пример кода работы с Word-документами из Excel. Запишите макрорекордером (в Word!) нужные действия с документами и объедините/переработайте с примером по ссылке КАК ИЗ EXCEL ОБРАТИТЬСЯ К ДРУГОМУ ПРИЛОЖЕНИЮ Согласие есть продукт при полном непротивлении сторон. |
Dim Ozerov Пользователь Сообщений: 99 |
Sanja, в статье приводится как я понял — вставка из экселя в ворд или из ворда в эксель. |
Sanja Пользователь Сообщений: 14838 |
#4 11.08.2017 10:41:05
Я же Вам написал
Согласие есть продукт при полном непротивлении сторон. |
||||
Dim Ozerov Пользователь Сообщений: 99 |
#5 11.08.2017 11:02:01 Sanja, в ворде макрорекордер как-то по-другому работает.
Видимо потому что Selection.Copy — надо как-то задавать — выделение по странице или весь документ. |
||
Sanja Пользователь Сообщений: 14838 |
Так у Вас вопрос больше по VBA Word’а чем по Excel. Ищите тематические форумы Согласие есть продукт при полном непротивлении сторон. |
Бахтиёр Пользователь Сообщений: 1930 Excel 365 |
#7 11.08.2017 11:09:57 От Дмитрия (The_Prist)
А тему наверно в курилку |
||
Dim Ozerov Пользователь Сообщений: 99 |
… Изменено: Dim Ozerov — 11.08.2017 11:38:50 |
Dim Ozerov Пользователь Сообщений: 99 |
Бахтиёр, а не подскажете — как работает этот скрипт. Подключена библиотека Microsoft Word 15.0 Object Library |
Юрий М Модератор Сообщений: 60575 Контакты см. в профиле |
#10 11.08.2017 13:05:14
Dim Ozerov, Вам нужен макрос в Word? |
||
RAN Пользователь Сообщений: 7091 |
#11 11.08.2017 14:19:14
|
||
Megamen2 Пользователь Сообщений: 101 |
RAN, макрос в целом работает, то есть группирует все вордовские файлы в один документ — под названием «Документ1». Выдает в этом месте ошибку : » Run-time error `438` Object doesn`t support this property or method « Изменено: Megamen2 — 11.08.2017 15:31:08 |
RAN Пользователь Сообщений: 7091 |
Вариантов, собственно, два. |
Megamen2 Пользователь Сообщений: 101 |
#14 11.08.2017 16:36:29
Метод SaveAs — работает Изменено: Megamen2 — 11.08.2017 16:38:16 |
||
Dim Ozerov Пользователь Сообщений: 99 |
#15 11.08.2017 16:43:59 RAN, все заработало. |