Přejít k hlavnímu obsahu

Jak rozdělit dokument Word do samostatných souborů každých 5 nebo n stránek?

Pokud máte velký dokument aplikace Word, který obsahuje stovky stránek, a nyní byste chtěli tento dokument rozdělit na samostatné soubory každých 10 nebo n stránek. Existuje nějaký rychlý a snadný způsob řešení této úlohy bez kopírování a vkládání stránek jeden po druhém?

Rozdělte dokument Word do samostatných souborů každých 10 nebo n stránek pomocí kódu VBA

Rozdělte dokument Word do samostatných souborů každých 10 nebo n stránek s úžasnou funkcí


Rozdělte dokument Word do samostatných souborů každých 10 nebo n stránek pomocí kódu VBA

Chcete-li rozdělit velký dokument do samostatných souborů na základě každých 10 nebo n stránek, následující kód VBA vám může udělat laskavost, udělejte to takto:

1. Podržte ALT + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2. A pak klikněte Vložit > Modul, zkopírujte a vložte níže uvedený kód do otevřeného prázdného modulu:

Kód VBA: Rozdělte dokument do samostatných souborů každých 10 nebo n stránek:

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. Po vložení výše uvedeného kódu stále do Microsoft Visual Basic pro aplikace okno, klikněte prosím Tools > Referencea vyskočil Reference-Project v dialogovém okně zaškrtněte Pravidelné výrazy Microsoft VBScript 5.5 možnost v Dostupné reference seznam, viz screenshot:

4. Pak klikněte na tlačítko OK tlačítko a potom stiskněte F5 klíč ke spuštění tohoto kódu a Procházet složku Zobrazí se dialogové okno, vyberte složku, kam chcete rozdělené soubory vložit, viz screenshot:

5. Pak klikněte na tlačítko OK Tlačítko a vyskočí další výzva, která vám připomene zadání počtu stránek, na kterém se chcete rozdělit, viz screenshot:

6. A pak klikněte na tlačítko OK tlačítko, aktivní dokument Word byl rozdělen na samostatné soubory každých 10 stránek, můžete přejít do zadané složky a zobrazit výsledky:


Rozdělte dokument Word do samostatných souborů každých 10 nebo n stránek s úžasnou funkcí

Kutools pro Word obsahuje výkonnou funkci Rozdělit Pomocí této utility můžete rychle rozdělit velký dokument Word do několika samostatných souborů na základě nadpisu 1, konce stránky, konce sekce a stránky.

Tip:Použít toto Rozdělit funkce, za prvé, měli byste si stáhnout Kutools pro Worda poté tuto funkci rychle a snadno aplikujte.

Po instalaci Kutools pro Word, udělejte prosím toto:

1, klikněte Kutools Plus > Rozdělit, viz screenshot:

2. Ve vyskakovacím dialogovém okně nastavte podle potřeby následující operace, viz screenshot:

3. Po dokončení nastavení klikněte OKa celý dokument bude rozdělen do více souborů na základě každé stránky, viz screenshot:

Klikněte a stáhněte si Kutools pro Word a bezplatnou zkušební verzi hned teď!

Nejlepší nástroje pro produktivitu v kanceláři

Kutools pro Word - Zvyšte své zkušenosti se slovem Over 100 Pozoruhodné vlastnosti!

🤖 Kutools AI asistent: Transformujte své psaní pomocí AI - Generovat obsah  /  Přepsat text  /  Shrnout dokumenty  /  Vyžádejte si informace na základě dokumentu, vše ve Wordu

📘 Mistrovství dokumentů: Rozdělit stránky  /  Sloučit dokumenty  /  Exportovat výběr v různých formátech (PDF/TXT/DOC/HTML...)  /  Dávkový převod do PDF  /  Exportujte stránky jako obrázky  /  Tisk více souborů najednou...

Úprava obsahu: Dávkové hledání a nahrazení přes více souborů  /  Změnit velikost všech obrázků  /  Transponujte řádky a sloupce tabulky  /  Převést tabulku na text...

🧹 Čištění bez námahy: Smést pryč Extra prostory  /  Sekce přestávky  /  Všechny záhlaví  /  Textová pole  /  Odkazy  / Další nástroje pro odstraňování naleznete u nás Odstranit skupinu...

Kreativní vložky: Vložit Tisíc separátorů  /  Zaškrtávací políčka  /  Tlačítka rádia  /  QR kód  /  čárový kód  /  Tabulka diagonálních čar  /  Titulek rovnice  /  Titulek obrázku  /  Titulek tabulky  /  Více obrázků  / Objevte více v Vložit skupinu...

???? Přesné výběry: Přesně konkrétní stránky  /  Tabulky  /  Tvary  /  nadpisové odstavce  / Vylepšete navigaci pomocí vice Vyberte funkce...

Vylepšení hvězd: Navigujte rychle na libovolné místo  /  automatické vkládání opakujícího se textu  /  plynule přepínat mezi okny dokumentů  /  11 Konverzní nástroje...

???? Chcete si tyto funkce vyzkoušet? Kutools for Word nabízí a Denní zkušební doba 60, bez omezení! ????
Stažení zdarma     Více     Kup nyní
 
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