How to split document into multiple documents in word?

If you have a massive word document which you need to split into multiple documents, take a few minutes to read this tutorial. This tutorial will show you two methods for splitting a document into multiple documents.

Split document into multiple documents with VBA

Split document into multiple documents by using Kutools for Word

Kutools for Word: Add 100 New Advanced Features to Word 2003/2007/2010/2013.
Office Tab: Enable Tabbed Editing and Browsing in Office, Just Like Chrome, Firefox, IE 8/9/10.
Classic Menu for Office: Bring Old Look of Office 2003 Back to Office 2007, 2010 and 2013.

arrow blue right bubble Split document into multiple documents with VBA

Hot
Amazing! Using Tabs in Word like Firefox, Chrome, Internet Explore 10!

Learn moreFree download

Instead of splitting document into multiple documents manually, we can split document into multiple documents with VBA.

Step 1: Press “Alt-F11” to open the Microsoft Visual Basic for Application window;

Step 2: Click Module on the Insert tab, copy and paste the following VBA code into the Module window;

Step 3: Then click Rundoc-remove-numeric-characters-1 button to apply the VBA.

VBA Code: split document into multiple documents according to delimiter:

Sub SplitNotes(delim As String, strFilename As String)
Dim doc As Document
Dim arrNotes
Dim I As Long
Dim X As Long
Dim Response As Integer
arrNotes = Split(ActiveDocument.Range, delim)
Response = MsgBox("This will split the document into " & UBound(arrNotes) + 1 & " sections.Do you wish to proceed?", 4)
If Response = 7 Then Exit Sub
For I = LBound(arrNotes) To UBound(arrNotes)
If Trim(arrNotes(I)) <> "" Then
X = X + 1
Set doc = Documents.Add
doc.Range = arrNotes(I)
doc.SaveAs ThisDocument.Path & "\" & strFilename & Format(X, "000")
doc.Close True
End If
Next I
End Sub
Sub test()
'delimiter & filename
SplitNotes "///", "Notes "
End Sub

Note:

1. Be sure to add your delimiter as the same as "///" in the sub test to the document between each section of text you wish to separate. Also, you can change "///" to any delimiters to meet your need.

2. You can change the documents "Notes "in the sub Test to suit your needs.

3. And the splitting documents will be saved to the same place with the original file.

4. You do not need to add delimiter to the end of the original file, if you do, there will be a blank document after splitting.

This is VBA for Splitting document into multiple single-paged document

Sub SplitIntoPages()
Dim docMultiple As Document
Dim docSingle As Document
Dim rngPage As Range
Dim iCurrentPage As Integer
Dim iPageCount As Integer
Dim strNewFileName As String
Application.ScreenUpdating = False 'Makes the code run faster and reduces screen _
flicker a bit.
Set docMultiple = ActiveDocument 'Work on the active document _
(the one currently containing the Selection)
Set rngPage = docMultiple.Range 'instantiate the range object
iCurrentPage = 1
'get the document's page count
iPageCount = docMultiple.Content.ComputeStatistics(wdStatisticPages)
Do Until iCurrentPage > iPageCount
If iCurrentPage = iPageCount Then
rngPage.End = ActiveDocument.Range.End 'last page (there won't be a next page)
Else
'Find the beginning of the next page
'Must use the Selection object. The Range.Goto method will not work on a page
Selection.GoTo wdGoToPage, wdGoToAbsolute, iCurrentPage + 1
'Set the end of the range to the point between the pages
rngPage.End = Selection.Start
End If
rngPage.Copy 'copy the page into the Windows clipboard
Set docSingle = Documents.Add 'create a new document
docSingle.Range.Paste 'paste the clipboard contents to the new document
'remove any manual page break to prevent a second blank
docSingle.Range.Find.Execute Findtext:="^m", ReplaceWith:=""
'build a new sequentially-numbered file name based on the original multi-paged file name and path
strNewFileName = Replace(docMultiple.FullName, ".doc", "_" & Right$("000" & iCurrentPage, 4) & ".doc")
docSingle.SaveAs strNewFileName 'save the new single-paged document
iCurrentPage = iCurrentPage + 1 'move to the next page
docSingle.Close 'close the new document
rngPage.Collapse wdCollapseEnd 'go to the next page
Loop 'go to the top of the do loop
Application.ScreenUpdating = True 'restore the screen updating
'Destroy the objects.
Set docMultiple = Nothing
Set docSingle = Nothing
Set rngPage = Nothing
End Sub

Note: The splitting documents will be saved to the same place with the original file.

For more information about these codes, visit:

http://www.vbaexpress.com/kb/getarticle.php?kb_id=922 and http://www.vbaexpress.com/kb/getarticle.php?kb_id=727


arrow blue right bubble Split document into multiple documents with Kutool for Word

If you are not familiar with macro, it is very complicated to split document into multiple document by using VBA, but with Kutools for WordSplit function, you can easily split document into multiple documents.

Kutools for Word, a handy add-in, includes groups of tools to ease your work and enhance your ability of processing word document. Free Trial for 45 days! Get It Now!

Please apply the utility by clicking Enterprise > Split. See screenshot:

Step 1: Click Enterprise > Split, there will be a popup dialog in the screen. See screenshot:

You can see the results as show as below:

Note: You also can split the file to multiple documents by headings (before split by headings, you should add headings by clicking Home tab, and select one type of headings  to the file first), section break and page break (add section break and page break by clicking Page Layout > Breaks to file first).

For more detailed information about Split Document of Kutools for Word, please visit: Split Document feature description.


Relative articles:


arrow blue right bubble Kutools for Word

More than 100 Advanced Functions for Word 2003, 2007, 2010 and 2013

shot-kutools-700-225-kte

More Features  |  Free Download  |  Only $19.00 for hundreds of functions