Прескочи на основното съдържание

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

Автор: Xiaoyang Последна промяна: 2022-12-19

Ако имате голям документ на 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 ключ за изпълнение на този код и a Преглед за папка се показва диалогов прозорец, моля, изберете папка, в която искате да поставите разделените файлове, вижте екранната снимка:

5, След това кликнете OK и друго поле за подкана се появява, за да ви напомни да въведете броя на страниците, въз основа на който искате да разделите, вижте екранната снимка:

6, И после щракнете върху OK активният документ на Word е разделен на отделни файлове на всеки 10 страници, можете да отидете в указаната папка, за да видите резултатите:


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

Kutools за Word включва мощна функция- разцепен функция, с тази помощна програма можете бързо да разделите голям документ на Word на множество отделни файлове въз основа на Заглавие1, прекъсване на страница, разделяне на раздел и страница.

Съвет:За да приложите това разцепен функция, първо трябва да изтеглите Kutools за Wordи след това приложете функцията бързо и лесно.

След инсталиране Kutools за Word, моля, направете следното:

1. Щракнете Kutools плюс > разцепен, вижте екранна снимка:

2. В изскачащия диалогов прозорец, моля, задайте следните операции, както ви е необходимо, вижте екранната снимка:

3. След като приключите с настройките, моля щракнете OKи целият документ ще бъде разделен на няколко файла на базата на всяка страница, вижте екранната снимка:

Щракнете, за да изтеглите Kutools за Word и безплатна пробна версия сега!

Най-добрите инструменти за продуктивност в офиса

Kutools за Word - Подобрете своя Word опит с Over 100 Забележителни функции!

🤖 Kutools AI Assistant: Преобразувайте писането си с AI - Генериране на съдържание  /  Пренаписване на текст  /  Обобщаване на документи  /  Запитване за информация въз основа на Документ, всичко това в Word

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

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

🧹 Почистване без усилие: Изметете Допълнителни пространства  /  Прекъсвания на раздели  /  Всички заглавки  /  Текстови полета  /  Хипервръзки  / За повече инструменти за премахване се насочете към нашия Премахване на група...

Творчески вложки: Вмъкване Хилядни разделители  /  Квадратчета  /  Радио бутони  /  QR Code  /  Баркод  /  Таблица с диагонални линии  /  Надпис на уравнение  /  Надпис на изображението  /  Надпис на таблица  /  Множество снимки  / Открийте повече в Вмъкване на група...

🔍 Прецизни селекции: Точна точка конкретни страници  /  таблици  /  форми  /  заглавни параграфи  / Подобрете навигацията с още Изберете функции...

Звездни подобрения: Навигирайте бързо до всяко място  /  автоматично вмъкване на повтарящ се текст  /  безпроблемно превключване между прозорците на документи  /  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