Saltar al contenido principal

¿Cómo dividir un documento de Word en archivos separados cada 5 o n páginas?

Si tiene un documento de Word grande que contiene cientos de páginas y ahora, le gustaría dividir este documento en archivos separados cada 10 o n páginas. ¿Existe alguna forma rápida y sencilla de resolver este trabajo sin copiar y pegar las páginas una por una?

Divida un documento de Word en archivos separados cada 10 o n páginas con código VBA

Divida un documento de Word en archivos separados cada 10 on páginas con una característica sorprendente


Divida un documento de Word en archivos separados cada 10 o n páginas con código VBA

Para dividir un documento grande en archivos separados basados ​​en cada 10 on páginas, el siguiente código VBA puede hacerle un favor, haga lo siguiente:

1. Mantenga pulsado el ALT + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. Y luego, haga clic en recuadro > Módulo, copie y pegue el código siguiente en el módulo en blanco abierto:

Código VBA: divida un documento en archivos separados cada 10 o n páginas:

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. Después de pegar el código anterior, todavía en el Microsoft Visual Basic para aplicaciones ventana, haga clic en Herramientas > Referencias, y en el salido Referencias-Proyecto cuadro de diálogo, comprobar Expresiones regulares de Microsoft VBScript 5.5 opción en el Referencias disponibles cuadro de lista, ver captura de pantalla:

4. Luego haga clic OK y luego presione F5 clave para ejecutar este código, y una Busca por carpetas Se muestra el cuadro de diálogo, seleccione una carpeta donde desea colocar los archivos divididos, vea la captura de pantalla:

5. Luego haga clic OK , y se abre otro cuadro de aviso para recordarle que ingrese el número de recuento de páginas en el que desea dividir, vea la captura de pantalla:

6. Y luego haz clic OK , el documento de Word activo se ha dividido en archivos separados cada 10 páginas, puede ir a la carpeta especificada para ver los resultados:


Divida un documento de Word en archivos separados cada 10 on páginas con una característica sorprendente

Kutools for Word incluye una característica poderosa Mini Split función, con esta utilidad, puede dividir rápidamente un documento de Word grande en varios archivos separados según el título 1, el salto de página, el salto de sección y la página.

Consejos:Para aplicar esto Mini Split función, en primer lugar, debe descargar la Kutools for Wordy, a continuación, aplique la función de forma rápida y sencilla.

Después de instalar Kutools for Word, haz lo siguiente:

1. Hacer clic Kutools Más > Mini Split, ver captura de pantalla:

2. En el cuadro de diálogo emergente, configure las siguientes operaciones según sus necesidades, vea la captura de pantalla:

3. Después de finalizar la configuración, haga clic en OK, y todo el documento se dividirá en varios archivos según cada página, vea la captura de pantalla:

¡Haga clic para descargar Kutools para Word y una prueba gratuita ahora!

Las mejores herramientas de productividad de oficina

Kutools for Word - Mejore su experiencia con Word con Over 100 ¡Características notables!

🤖 Asistente de IA de Kutools: Transforma tu escritura con IA - Generar contenido  /  Reescribir texto  /  Resumir documentos  /  Solicite información basado en el documento, todo dentro de Word

📘 Dominio del documento: Dividir páginas  /  Combinar documentos  /  Exportar selección en varios formatos (PDF/TXT/DOC/HTML...)  /  Convertir por lotes a PDF  /  Exportar páginas como imágenes  /  Imprima varios archivos a la vez...

Edición de contenidos: Buscar y reemplazar por lotes en varios archivos  /  Cambiar el tamaño de todas las imágenes  /  Transponer filas y columnas de tabla  /  Convertir tabla en texto...

🧹 Limpieza sin esfuerzo: barrer Espacios extra  /  Saltos de sección  /  Todos los encabezados  /  Cuadros de texto  /  Los hipervínculos  / Para obtener más herramientas de extracción, diríjase a nuestro Quitar grupo...

Inserciones creativas: Insertar Mil Separadores  /  Casillas de verificación  /  Botones de radio  /  Código QR   /  Barcode  /  Tabla de líneas diagonales  /  Título de la ecuación  /  Captura de imagen  /  Pie de tabla  /  Varias imágenes  / Descubre más en el Insertar grupo...

🔍 Selecciones de precisión: Localizar páginas específicas  /  tablas  /  formas  /  párrafos de encabezado  / Mejorar la navegación con más, Seleccionar características...

Mejoras de estrellas: Navegue rápidamente a cualquier ubicación  /  insertar automáticamente texto repetitivo  /  alternar sin problemas entre ventanas de documentos  /  11 herramientas de conversión...

👉 ¿Quieres probar estas funciones? Kutools para Word ofrece una prueba gratuita de 60 días.¡Sin limitaciones! 🚀
 
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