Ir para o conteúdo principal

Como dividir um documento do Word em arquivos separados a cada 5 ou n páginas?

Se você tiver um grande documento do Word que contém centenas de páginas, e agora, gostaria de dividir este documento em arquivos separados a cada 10 ou n páginas. Existe alguma maneira rápida e fácil de resolver esse trabalho sem copiar e colar as páginas uma por uma?

Divida um documento do Word em arquivos separados a cada 10 ou n páginas com código VBA

Divida um documento do Word em arquivos separados a cada 10 ou n páginas com um recurso incrível


Divida um documento do Word em arquivos separados a cada 10 ou n páginas com código VBA

Para dividir um grande documento em arquivos separados com base em cada 10 ou n páginas, o seguinte código VBA pode fazer um favor, faça o seguinte:

1. Segure o ALT + F11 chaves para abrir o Microsoft Visual Basic para Aplicações janela.

2. E então, clique inserção > Módulo, copie e cole o código abaixo no módulo em branco aberto:

Código VBA: divida um documento em arquivos separados a cada 10 ou 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. Depois de colar o código acima, ainda no Microsoft Visual Basic para Aplicações janela, por favor clique Ferramentas > Referências, e no estalou Referências-Projeto caixa de diálogo, verifique Expressões regulares do Microsoft VBScript 5.5 opção no Referências Disponíveis caixa de lista, veja a captura de tela:

4. Então clique OK botão e, em seguida, pressione F5 chave para executar este código, e um Procurar pasta caixa de diálogo é exibida, selecione uma pasta onde deseja colocar os arquivos divididos, consulte a captura de tela:

5. Então clique OK botão, e outra caixa de prompt é exibida para lembrá-lo de inserir o número de contagem de páginas que você deseja dividir com base, consulte a captura de tela:

6. E, em seguida, clique em OK botão, o documento do Word ativo foi dividido em arquivos separados a cada 10 páginas, você pode ir para a pasta especificada para ver os resultados:


Divida um documento do Word em arquivos separados a cada 10 ou n páginas com um recurso incrível

Kutools for Word inclui um recurso poderoso- Split função, com este utilitário, você pode dividir rapidamente um grande documento do Word em vários arquivos separados com base em Heading1, quebra de página, quebra de seção e página.

Dicas:Para aplicar isso Split recurso, em primeiro lugar, você deve baixar o Kutools for Worde, em seguida, aplique o recurso de forma rápida e fácil.

Depois de instalar Kutools for Word, por favor, faça o seguinte:

1. Clique Kutools Plus > Split, veja a captura de tela:

2. Na caixa de diálogo exibida, defina as seguintes operações conforme necessário, consulte a captura de tela:

3. Depois de terminar as configurações, por favor clique OK, e todo o documento será dividido em vários arquivos com base em cada página, consulte a imagem:

Clique para baixar o Kutools for Word e testar gratuitamente agora!

Melhores ferramentas de produtividade de escritório

Kutools for Word - Eleve sua experiência com palavras com mais 100 Recursos notáveis!

🤖 Assistente de IA do Kutools: Transforme sua escrita com IA - Gerar conteúdo  /  Reescrever texto  /  Resumir documentos  /  Pergunte para obter informações com base no documento, tudo dentro do Word

📘 Domínio de documentos: Páginas divididas  /  Mesclar Documentos  /  Seleção de exportação em vários formatos (PDF/TXT/DOC/HTML...)  /  Conversão em lote para PDF  /  Exportar páginas como imagens  /  Imprima vários arquivos de uma vez...

Edição de conteúdo: Localização e substituição em lote em vários arquivos  /  Redimensionar todas as imagens  /  Transpor linhas e colunas da tabela  /  Converter tabela em texto...

🧹 Limpeza sem esforço: Varrer Espaços extras  /  Quebras de seção  /  Todos os cabeçalhos  /  Caixas de Texto  /  hiperlinks  / Para mais ferramentas de remoção, acesse nosso Remover Grupo...

Inserções criativas: Inserir Mil Separadores  /  Caixas de seleção  /  botões de rádio  /  QR Code  /  Código de barras  /  Tabela de linhas diagonais  /  Legenda da equação  /  Legenda da Imagem  /  Legenda da Tabela  /  Várias fotos  / Descubra mais no Inserir Grupo...

🔍 Seleções de precisão: Identificar páginas específicas  /  tabelas  /  formas  /  parágrafos de título  / Melhore a navegação com mais Selecione recursos...

Aprimoramentos de estrelas: Navegue rapidamente para qualquer local  /  inserir automaticamente texto repetitivo  /  alternar perfeitamente entre janelas de documentos  /  11 ferramentas de conversão...

👉 Quer experimentar esses recursos? Kutools para Word oferece um 60-day free trial, sem limitações! 🚀
 
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