Gå til hovedindhold

Hvordan opdeles et Word-dokument i separate filer hver 5. eller n side?

Forfatter: Xiaoyang Sidst ændret: 2022-12-19

Hvis du har et stort Word-dokument, der indeholder hundredvis af sider, og nu, vil du gerne opdele dette dokument i separate filer hver 10. eller n side. Er der nogen hurtig og nem måde at løse dette job på uden at kopiere og indsætte siderne en efter en?

Opdel et Word-dokument i separate filer hver 10. eller n side med VBA-kode

Opdel et Word-dokument i separate filer hver 10. eller n side med en fantastisk funktion


Opdel et Word-dokument i separate filer hver 10. eller n side med VBA-kode

For at opdele et stort dokument i separate filer baseret på hver 10. eller n side, kan følgende VBA-kode gøre dig en tjeneste, gør venligst som dette:

1. Hold nede ALT + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.

2. Klik derefter på indsatte > Moduler, kopier og indsæt nedenstående kode i det åbne blanke modul:

VBA-kode: Opdel et dokument i separate filer hver 10. eller n side:

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. Efter at have indsat ovenstående kode, stadig i Microsoft Visual Basic til applikationer vindue, klik venligst Værktøjer > Referencerog i poppet ud Referencer-projekt dialogboks, tjek Microsoft VBScript Regular Expressions 5.5 valgmulighed i Tilgængelige referencer listefelt, se skærmbillede:

4. Klik derefter på OK og tryk derefter på F5 nøgle til at køre denne kode, og en Gennemse for mappe dialogboksen vises, skal du vælge en mappe, hvor du vil placere de delte filer i, se skærmbillede:

5. Klik derefter på OK knap, og en anden promptboks vises for at minde dig om at indtaste det sidetalnummer, som du vil opdele baseret på, se skærmbillede:

6. Og klik derefter på OK knap, det aktive Word-dokument er opdelt i separate filer hver 10. side, kan du gå til den angivne mappe for at se resultaterne:


Opdel et Word-dokument i separate filer hver 10. eller n side med en fantastisk funktion

Kutools for Word inkluderer en kraftig funktion- Dele funktion, med dette værktøj kan du hurtigt opdele et stort Word-dokument i flere separate filer baseret på Overskrift1, sideskift, sektionsskift og side.

tips:At anvende dette Dele funktion, for det første skal du downloade Kutools for Word, og anvend derefter funktionen hurtigt og nemt.

Efter installation Kutools for Wordskal du gøre som dette:

1. Klik Kutools Plus > Dele, se skærmbillede:

2. I dialogboksen poppet ud skal du indstille følgende operationer, som du har brug for, se skærmbillede:

3. Når du er færdig med indstillingerne, skal du klikke på OK, og hele dokumentet opdeles i flere filer baseret på hver side, se skærmbillede:

Klik for at downloade Kutools til Word og gratis prøveversion nu!

Bedste kontorproduktivitetsværktøjer

Kutools for Word - Forøg din Word-oplevelse med Over 100 Bemærkelsesværdige funktioner!

🤖 Kutools AI-assistent: Transformer din skrivning med AI - Generer indhold  /  Omskriv tekst  /  Opsummer dokumenter  /  Spørg for information baseret på Dokument, alt sammen i Word

📘 Dokumentbeherskelse: Opdelt sider  /  Flet dokumenter  /  Eksporter udvalg i forskellige formater (PDF/TXT/DOC/HTML...)  /  Batch Konverter til PDF  /  Eksporter sider som billeder  /  Udskriv flere filer på én gang...

Indholdsredigering: Batch Find og erstat på tværs af flere filer  /  Ændr størrelse på alle billeder  /  Transponer tabelrækker og kolonner  /  Konverter tabel til tekst...

🧹 Ubesværet rengøring: Fej væk Ekstra pladser  /  Afsnit bryder  /  Alle overskrifter  /  Tekstbokse  /  Hyperlinks  / For mere fjernelse af værktøjer, gå til Fjern gruppe...

Kreative indlæg: Indsæt Tusind adskillere  /  Afkrydsningsfelter  /  Radio knapper  /  QR kode  /  Stregkode  /  Diagonal linjebord  /  Ligningstekst  /  Billede Caption  /  Tabeltekst  /  Flere billeder  / Oplev mere i Indsæt gruppe...

???? Præcisionsvalg: Find ud af Specifikke sider  /  tabeller  /  Former  /  Overskriftsparagraffer  / Forbedre navigation med mere Vælg funktioner...

Stjerneforbedringer: Naviger til enhver placering  /  Auto-indsæt gentagen tekst  /  Skift mellem dokumentvinduer  /  11 Konverteringsværktøjer...

???? Vil du prøve disse funktioner? Kutools for Word tilbyder en 60-dages gratis prøveperiode, uden begrænsninger! 🚀
 
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