Passer au contenu principal

Comment diviser un document Word en fichiers séparés toutes les 5 ou n pages?

Si vous avez un grand document Word qui contient des centaines de pages, et maintenant, vous souhaitez diviser ce document en fichiers séparés toutes les 10 ou n pages. Existe-t-il un moyen rapide et facile de résoudre ce travail sans copier et coller les pages une par une?

Divisez un document Word en fichiers séparés toutes les 10 ou n pages avec le code VBA

Divisez un document Word en fichiers séparés toutes les 10 ou n pages avec une fonctionnalité étonnante


Divisez un document Word en fichiers séparés toutes les 10 ou n pages avec le code VBA

Pour diviser un grand document en fichiers séparés sur la base de toutes les 10 ou n pages, le code VBA suivant peut vous rendre service, procédez comme suit:

1. Maintenez le ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. Et puis, cliquez insérer > Module, copiez et collez le code ci-dessous dans le module vide ouvert:

Code VBA: divisez un document en fichiers séparés toutes les 10 ou n pages:

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. Après avoir collé le code ci-dessus, toujours dans le Microsoft Visual Basic pour applications fenêtre, veuillez cliquer Outils > Bibliographie, et dans le sauté Références-Projet boîte de dialogue, cochez Expressions régulières Microsoft VBScript 5.5 option dans la Références disponibles zone de liste, voir capture d'écran:

4. Puis clique OK bouton, puis appuyez sur F5 clé pour exécuter ce code, et un Parcourir pour le dossier boîte de dialogue s'affiche, veuillez sélectionner un dossier dans lequel vous souhaitez placer les fichiers fractionnés, voir capture d'écran:

5. Puis clique OK bouton, et une autre boîte de dialogue apparaît pour vous rappeler de saisir le nombre de pages sur lequel vous souhaitez diviser, voir capture d'écran:

6. Et puis cliquez OK bouton, le document Word actif a été divisé en fichiers séparés toutes les 10 pages, vous pouvez aller dans le dossier spécifié pour voir les résultats:


Divisez un document Word en fichiers séparés toutes les 10 ou n pages avec une fonctionnalité étonnante

Kutools for Word comprend une fonctionnalité puissante Diviser fonction, avec cet utilitaire, vous pouvez rapidement diviser un grand document Word en plusieurs fichiers séparés basés sur Heading1, saut de page, saut de section et page.

Conseils:Appliquer cette Diviser fonctionnalité, tout d'abord, vous devez télécharger le Kutools for Word, puis appliquez la fonction rapidement et facilement.

Après l'installation de Kutools for Word, veuillez faire comme ceci:

1Cliquez sur Kutools Plus > Diviser, voir capture d'écran:

2. Dans la boîte de dialogue qui apparaît, veuillez définir les opérations suivantes selon vos besoins, voir capture d'écran:

3. Après avoir terminé les réglages, veuillez cliquer sur OK, et l'ensemble du document sera divisé en plusieurs fichiers en fonction de chaque page, voir capture d'écran:

Cliquez pour télécharger Kutools for Word et un essai gratuit maintenant !

Meilleurs outils de productivité bureautique

Kutools for Word - Élevez votre expérience Word avec Over 100 Caractéristiques remarquables !

🤖 Assistant IA Kutools: Transformez votre écriture avec l'IA - Générer du contenu  /  Réécrire le texte  /  Résumer des documents  /  Demander des informations basé sur le document, le tout dans Word

(I.e. Maîtrise des documents: Pages divisées  /  Fusionner des documents  /  Exporter la sélection dans différents formats (PDF/TXT/DOC/HTML...)  /  Conversion par lots en PDF  /  Exporter des pages sous forme d'images  /  Imprimer plusieurs fichiers à la fois

Édition du contenu: Rechercher et remplacer par lots sur plusieurs fichiers  /  Redimensionner toutes les images  /  Transposer les lignes et les colonnes du tableau  /  Convertir le tableau en texte

🧹 Nettoyage sans effort : balayer Espaces supplémentaires  /  Sauts de section  /  Tous les en-têtes  /  Boîtes de texte  /  Liens hypertextes  / Pour plus d'outils de suppression, rendez-vous sur notre Supprimer le groupe

Insertions créatives: Insérer Mille séparateurs  /  Cases à cocher  /  Boutons radio  /  code QR  /  Code barres  /  Tableau des lignes diagonales  /  Légende de l'équation  /  Légende  /  Légende de la table  /  Plusieurs images  / Découvrez-en davantage dans le Insérer un groupe

🔍 Sélections de précision: Localiser pages spécifiques  /  les tables  /  formes  /  paragraphes de titre  / Améliorez la navigation avec PLUS Sélectionnez les fonctionnalités

Améliorations des étoiles: Naviguez rapidement vers n’importe quel endroit  /  insertion automatique de texte répétitif  /  basculer de manière transparente entre les fenêtres de document  /  11 outils de conversion

👉 Vous voulez essayer ces fonctionnalités ? Kutools for Word propose un Essai gratuit 60-day, sans aucune limite ! 🚀
 
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