Note: The other languages of the website are Google-translated. Back to English
English English

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ď!


Doporučené nástroje produktivity slov

 

Kutools pro Word - více než 100 pokročilých funkcí pro Word, ušetříte 50% času

  • Složité a opakované operace lze provádět jednorázově během několika sekund.
  • Vložte více obrázků do složek do dokumentu Word najednou.
  • Sloučte a zkombinujte více souborů Wordu napříč složkami do jednoho v požadovaném pořadí.
  • Rozdělte aktuální dokument na samostatné dokumenty podle záhlaví, zalomení sekce nebo jiných kritérií.
  • Převádějte soubory mezi Doc a Docx, Docx a PDF, kolekci nástrojů pro běžné převody a výběr atd. ...
Komentáře (8)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
Snažil jsem se rozdělit soubor aplikace Word o 166 stránkách a dává 166 souborů, každý se 166 stránkami?
Tento komentář byl moderátorem webu minimalizován
Skript VBA: Rozdělte dokument do samostatných souborů každých 10 nebo n stránek nefungovalo
Tento komentář byl moderátorem webu minimalizován
Dobrý den, Sergeji,
Výše uvedený kód funguje dobře v mém dokumentu aplikace Word, kterou verzi aplikace Word používáte?
A který krok se ve vaší operaci pokazil?
Tento komentář byl moderátorem webu minimalizován
Kód VBscript způsobil pád Wordu. Zkoušel jsem rozdělit 32Mb soubor Wordu s mnoha stránkami, ale zdá se, že to Word nedokáže zpracovat přes VBscript.
I tak děkuji
Tento komentář byl moderátorem webu minimalizován
Dobrý den, Studia,
Kód VBA může selhat, když existuje velký dokument, není stabilní, proto vám doporučuji použít náš nástroj Kutools for Word, který byl aktualizován, a podpora k vyřešení tohoto úkolu, můžete si jej stáhnout a bezplatně vyzkoušet 30 dní.
Zkuste to prosím, děkuji!
Tento komentář byl moderátorem webu minimalizován
Pro mě VBA vytvoří jeden dokument, který je kopií originálu a je to.
Tento komentář byl moderátorem webu minimalizován
tento kód dává chybu kompilace, která ukazuje, že typ definovaný uživatelem není definován
Tento komentář byl moderátorem webu minimalizován
dobré věci. Použil jsem to k rozdělení s 1 stránkou 1 wordový dokument, bylo to úspěšné, kromě toho, že každý dokument (po rozdělení) má celkem 2 stránky, i když 2. stránka je vždy prázdná. 
Zatím zde nejsou žádné komentáře
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění