Перейти к основному содержанию

Как разделить документ Word на отдельные файлы каждые 5 или n страниц?

Если у вас есть большой документ Word, содержащий сотни страниц, и теперь вы хотели бы разделить этот документ на отдельные файлы каждые 10 или n страниц. Есть ли какой-нибудь быстрый и простой способ решить эту задачу без копирования и вставки страниц по одной?

Разделите документ Word на отдельные файлы каждые 10 или n страниц с кодом VBA

Разделите документ Word на отдельные файлы каждые 10 или n страниц с удивительной функцией


Разделите документ Word на отдельные файлы каждые 10 или n страниц с кодом VBA

Чтобы разделить большой документ на отдельные файлы на основе каждых 10 или n страниц, следующий код VBA может оказать вам услугу, сделайте следующее:

1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. А затем нажмите Вставить > Модули, скопируйте и вставьте приведенный ниже код в открытый пустой модуль:

Код VBA: разделите документ на отдельные файлы каждые 10 или n страниц:

Sub DocumentSplitter()
    Dim xDoc As Document, xNewDoc As Document
    Dim xSplit As String, xCount As Long, xLast As Long
    Dim xRngSplit As Range, xDocName As String, xFileExt As String
    Dim xRegEx As RegExp
    Dim xPageCount As Integer
    Dim xShell As Object, xFolder As Object, xFolderItem As Object
    Dim xFilePath As String
    On Error Resume Next
    Set xDoc = Application.ActiveDocument
    Set xShell = CreateObject("Shell.Application")
    Set xFolder = xShell.BrowseforFolder(0, "Select a Folder:", 0, 0)
    If TypeName(xFolder) = "Nothing" Then Exit Sub
    Set xFolderItem = xFolder.Self
    xFilePath = xFolderItem.Path & "\"
    Application.ScreenUpdating = False
    Set xNewDoc = Documents.Add(Visible:=False)
    xDoc.Content.WholeStory
    xDoc.Content.Copy
    xNewDoc.Content.PasteAndFormat wdFormatOriginalFormatting
    With xNewDoc
        xPageCount = .ActiveWindow.Panes(1).Pages.Count
L1:     xSplit = InputBox("The document contains " & xPageCount & " pages." & _
                 vbCrLf & vbCrLf & " Please enter the page count you want to split:", "Kutools for Word", xSplit)
        If Len(Trim(xSplit)) = 0 Then Exit Sub
        Set xRegEx = New RegExp
        With xRegEx
            .MultiLine = False
            .Global = True
            .IgnoreCase = True
            .Pattern = "[^0-9]"
        End With
        If xRegEx.Test(xSplit) = True Then
            MsgBox "Please enter the page number:", vbInformation, "Kutools for Word"
            Exit Sub
        End If
        If VBA.Int(xSplit) >= xPageCount Then
            MsgBox "The number is greater than the document number." & vbCrLf & "Please re-enter", vbInformation, "Kutools for Word"
            GoTo L1
        End If
        xDocName = xDoc. Name
        xFileExt = VBA.Right(xDocName, Len(xDocName) - InStrRev(xDocName, ".") + 1)
        xDocName = Left(xDocName, InStrRev(xDocName, ".") - 1) & "_"
        xFilePath = xFilePath & xDocName
        For xCount = 0 To Int(xPageCount / xSplit)
            xPageCount = .ActiveWindow.Panes(1).Pages.Count
            If xPageCount > xSplit Then
                xLast = xSplit
            Else
                xLast = xPageCount
            End If
            Set xRngSplit = .GoTo(What:=wdGoToPage, Name:=xLast)
            Set xRngSplit = xRngSplit.GoTo(What:=wdGoToBookmark, Name:="\page")
            xRngSplit.Start = .Range.Start
            xRngSplit.Cut
            Documents.Add
            Selection.Paste
            ActiveDocument.SaveAs FileName:=xFilePath & xCount + 1 & xFileExt, AddToRecentFiles:=False
            ActiveWindow.Close
        Next xCount
        Set xRngSplit = Nothing
        xNewDoc.Close wdDoNotSaveChanges
        Set xNewDoc = Nothing
    End With
    Application.ScreenUpdating = True
End Sub

3. После вставки приведенного выше кода все еще в Microsoft Visual Basic для приложений окно, пожалуйста, нажмите Инструменты > Рекомендации, а в выскочившем Ссылки-проект диалоговое окно, отметьте Регулярные выражения Microsoft VBScript 5.5 вариант в Доступные ссылки список, см. снимок экрана:

4. Затем нажмите OK кнопку, а затем нажмите F5 ключ для запуска этого кода и Просмотр папки отображается диалоговое окно, выберите папку, в которую вы хотите поместить разделенные файлы, см. снимок экрана:

5. Затем нажмите OK , и появится еще одно окно подсказки, напоминающее вам о вводе количества страниц, на основе которого вы хотите разделить, см. снимок экрана:

6, Затем нажмите OK , активный документ Word был разделен на отдельные файлы каждые 10 страниц, вы можете перейти в указанную папку, чтобы увидеть результаты:


Разделите документ Word на отдельные файлы каждые 10 или n страниц с удивительной функцией

Kutools for Word включает мощную функцию - Split С помощью этой утилиты вы можете быстро разделить большой документ Word на несколько отдельных файлов на основе заголовка 1, разрыва страницы, разрыва раздела и страницы.

Советы:Чтобы применить это Split функция, во-первых, вы должны скачать Kutools for Word, а затем быстро и легко примените эту функцию.

После установки Kutools for Word, пожалуйста, сделайте так:

1. Нажмите Кутулс Плюс > Split, см. снимок экрана:

2. В появившемся диалоговом окне установите следующие операции, как вам нужно, см. Снимок экрана:

3. После завершения настроек нажмите OK, и весь документ будет разделен на несколько файлов для каждой страницы, см. снимок экрана:

Нажмите, чтобы загрузить Kutools for Word и бесплатную пробную версию прямо сейчас!

Лучшие инструменты для офисной работы

Kutools for Word - Повысьте свой опыт работы со словом с помощью Over 100 Замечательные особенности!

🤖 Kutools AI Помощник: Преобразуйте свое письмо с помощью искусственного интеллекта. Создать контент  /  Переписать текст  /  Обобщение документов  /  Запросить информацию на основе документа, все в Word

📘 Владение документами: Разделить страницы  /  Объединить документы  /  Экспортировать выбранное в различные форматы (PDF/TXT/DOC/HTML...)  /  Пакетное преобразование в PDF  /  Экспортировать страницы как изображения  /  Печать нескольких файлов одновременно...

Редактирование содержания: Пакетный поиск и замена через несколько файлов  /  Изменить размер всех изображений  /  Транспонировать строки и столбцы таблицы  /  Преобразовать таблицу в текст...

🧹 Легкая очистка: Убрать Дополнительные места  /  Разрывы разделов  /  Все заголовки  /  Текстовые поля  /  Гиперссылки  / Чтобы получить дополнительные инструменты для удаления, посетите наш Удалить группу...

Креативные вставки: Вставлять Разделители тысяч  /  Флажки  /  радио кнопки  /  QR код  /  Штрих-код  /  Таблица диагональных линий  /  Заголовок уравнения  /  Заголовок изображения  /  Заголовок таблицы  /  Несколько изображений  / Узнайте больше в Вставить группу...

???? Точный выбор: Точно определить конкретные страницы  /  Эта таблица  /  формы  /  заголовки абзацев  / Улучшите навигацию с помощью БОЛЕЕ Выберите функции...

Звездные улучшения: Быстро перемещайтесь в любое место  /  автоматическая вставка повторяющегося текста  /  плавно переключаться между окнами документов  /  11 инструментов преобразования...

👉 Хотите попробовать эти функции? Kutools for Word предлагает 60-дневная бесплатная пробная версия, без ограничений! 🚀
 
Comments (8)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
good things. i used it to split with 1 page 1 word document, it was successful except that each document (after split), it has 2 pages in total although 2nd page is always blank. 
This comment was minimized by the moderator on the site
this code gives compile error which shows user define type is not define
This comment was minimized by the moderator on the site
For me, the VBA creates a single document that is a copy of the original and that's it.
This comment was minimized by the moderator on the site
The VBscript code made Word crash. I was trying to split a 32Mb Word file with many pages but it seems Word can't handle it through VBscript.
Thanks anyway
This comment was minimized by the moderator on the site
Hello, Studia,
The VBA code may crash when there is a large document, it is not stable, so I recommend you use our Kutools for Word tool, it has updated, and support to solve this task, you can download it and free trial 30 day.
Please try, thank you!
This comment was minimized by the moderator on the site
VBA Script: Split a document into separate files every 10 or n pages not worked
This comment was minimized by the moderator on the site
Hello, Sergey,
The above code works well in my Word document, which Word version do you use?
And which step went wrong in your operation?
This comment was minimized by the moderator on the site
i have been trying to split a word file of 166 pages and it gives 166 files each with 166 pages?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations