Hoppa till huvudinnehåll

Hur delar jag ett Word-dokument i separata filer var 5: e eller n: e sida?

Om du har ett stort Word-dokument som innehåller hundratals sidor och nu vill du dela det här dokumentet i separata filer var 10: e eller n: e sida. Finns det något snabbt och enkelt sätt att lösa detta jobb utan att kopiera och klistra in sidorna en efter en?

Dela ett Word-dokument i separata filer var 10: e eller n: a sida med VBA-kod

Dela upp ett Word-dokument i separata filer var 10: e eller n: e sida med en fantastisk funktion


Dela ett Word-dokument i separata filer var 10: e eller n: a sida med VBA-kod

För att dela ett stort dokument i separata filer baserat på var 10: e eller n: e sida kan följande VBA-kod göra dig en tjänst, gör så här:

1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. Och klicka sedan på Insert > Modulerna, kopiera och klistra in koden nedan i den öppnade tomma modulen:

VBA-kod: Dela ett dokument i separata filer var 10: e eller n: a sida:

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 att ha klistrat in ovanstående kod, fortfarande i Microsoft Visual Basic för applikationer klicka på fönstret verktyg > Referensprojektoch i poppade ut Referenser-projekt dialogruta, kontrollera Microsoft VBScript Regular Expressions 5.5 alternativet i Tillgängliga referenser listruta, se skärmdump:

4. Klicka sedan OK och tryck sedan på F5 nyckel för att köra den här koden och en Bläddra för mapp dialogrutan visas, välj en mapp där du vill placera delade filer i, se skärmdump:

5. Klicka sedan OK -knappen och en annan snabbruta dyker upp för att påminna dig om att ange sidantalet som du vill dela baserat på, se skärmdump:

6. Och klicka sedan på OK -knappen har det aktiva Word-dokumentet delats upp i separata filer var 10: e sida, du kan gå till den angivna mappen för att se resultaten:


Dela upp ett Word-dokument i separata filer var 10: e eller n: e sida med en fantastisk funktion

Kutools för Word innehåller en kraftfull funktion- Split funktion, med det här verktyget kan du snabbt dela upp ett stort Word-dokument i flera separata filer baserat på Rubrik1, sidbrytning, sektionsbrytning och sida.

Tips:Att tillämpa detta Split funktionen, först bör du ladda ner Kutools för Word, och använd sedan funktionen snabbt och enkelt.

När du har installerat Kutools för Word, gör så här:

1. Klicka Kutools Plus > Split, se skärmdump:

2. I dialogrutan poppade ut ställer du in följande åtgärder efter behov, se skärmdump:

3. När du har gjort inställningarna klickar du på OK, och hela dokumentet kommer att delas upp i flera filer baserat på varje sida, se skärmdump:

Klicka för att ladda ner Kutools for Word och gratis testversion nu!

Bästa kontorsproduktivitetsverktyg

Kutools för Word - Höj din ordupplevelse med Over 100 Anmärkningsvärda funktioner!

Dyk in i de markerade funktionerna nedan eller klicka här för att utforska den fulla kraften i Kutools för Word.

📘 Dokumentbehärskning: Dela sidor  /  Sammanfoga dokument  /  Exportera urval i olika format (PDF/TXT/DOC/XLSX)  /  Batchkonvertera till PDF  /  Exportera sidor som bilder  /  Skriv ut flera filer samtidigt ...

Innehållsredigering: Batch Hitta och ersätt över flera filer   /  Ändra storlek på alla bilder   /  Transponera tabellrader och kolumner  /  Konvertera tabell till text ...

🧹 Enkel rengöringSvep bort Extra utrymmen  /  Avsnitt bryter  /   Alla rubriker  /  Textrutor  /  Hyperlänkar  /  För fler borttagningsverktyg, gå till vår Remove Group

Kreativa inlägg: Insert Tusen avskiljare  /  Kryssrutor  /  radio Knappar  /  QR-kod  /  Streckkod  /  Diagonal linjebord  /  Bildtext för ekvation  /  Bild Bildtext  /  Tabelltextning  /  Flera bilder  /  Upptäck mer i vår Insert Group

🔍 Precisionsval: Hitta specifika sidor  /  Tabellerna  /  former  /  rubrikerna  /  Navigera med lätthet med hjälp av vår Select Group

Stjärnförbättringar: Navigera snabbt till vilken plats som helst  /  infoga repetitiv text automatiskt  /  växla sömlöst mellan dokumentfönster  /  11 Konverteringsverktyg ...

Förvandla dina Word-uppgifter med Kutools. 👉 Ladda ner med 30-dagars provversion nu 🚀.

Läs mer       Gratis nedladdning      Inköp
 
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