Перейти до основного матеріалу

Як розділити документ 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. А потім натисніть Insert > Модулі, скопіюйте та вставте код нижче у відкритий порожній модуль:

Код 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 для додатків вікно, натисніть Tools > посилання, і в вискочив Список літератури-проект діалогове вікно, поставте галочку Регулярні вирази Microsoft VBScript 5.5 опція в Доступні посилання вікно списку, див. знімок екрана:

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

5. Потім натисніть OK і вискакує ще одне підказне вікно, щоб нагадати вам про введення номера підрахунку сторінок, на якому ви хочете розділити, див. знімок екрана:

6. А потім клацніть OK , активний документ Word розділений на окремі файли кожні 10 сторінок, ви можете перейти до вказаної папки, щоб переглянути результати:


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

Kutools для Word включає потужну функцію- розщеплений за допомогою цієї утиліти ви можете швидко розділити великий документ Word на декілька окремих файлів на основі заголовка1, розриву сторінки, розриву розділу та сторінки.

Порада:Щоб застосувати це розщеплений По-перше, вам слід завантажити Kutools для Word, а потім швидко та легко застосувати функцію.

після установки Kutools для Word, будь ласка, зробіть так:

1. Клацання Kutools Plus > розщеплений, див. скріншот:

2. У діалоговому вікні, що вискочило, встановіть наступні операції, як вам потрібно, див. Знімок екрана:

3. Закінчивши налаштування, натисніть OK, і весь документ буде розділений на кілька файлів на основі кожної сторінки, див. знімок екрана:

Натисніть, щоб завантажити Kutools для Word і безкоштовну пробну версію зараз!

Найкращі інструменти продуктивності офісу

Kutools для Word - Підніміть свій досвід Word із Over 100 Чудові особливості!

🤖 Kutools AI Assistant: змініть свій текст за допомогою ШІ - Створення вмісту  /  Переписати текст  /  Узагальнити документи  /  Звертайтеся за інформацією на основі Документа, все в Word

📘 Майстерність документів: Розділити сторінки  /  Об’єднати документи  /  Експортувати вибране в різні формати (PDF/TXT/DOC/HTML...)  /  Пакетне перетворення в PDF  /  Експортувати сторінки як зображення  /  Друк кількох файлів одночасно...

Редагування змісту: Пакетний пошук та заміна між кількома файлами  /  Змінити розмір усіх зображень  /  Транспонування рядків і стовпців таблиці  /  Перетворити таблицю в текст...

🧹 Очищення без зусиль: Змітати Зайві простори  /  Розбиття розділів  /  Усі заголовки  /  Текстові поля  /  Гіперпосилання  / Щоб отримати більше інструментів для видалення, відвідайте наш сайт Вилучити групу...

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

???? Точність вибору: Точне визначення конкретні сторінки  /  Таблиці  /  форми  /  заголовок абзаців  / Покращте навігацію за допомогою більше Виберіть функції...

Покращення зірок: Швидка навігація до будь-якого місця  /  автоматичне вставлення повторюваного тексту  /  плавно перемикатися між вікнами документів  /  11 Інструменти перетворення...

👉 Хочете спробувати ці функції? Kutools для Word пропонує a 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