Please Note: This article is written for users of the following Microsoft Word versions: 97, 2000, 2002, and 2003. If you are using a later version (Word 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Word, click here: Combining Documents.
by Allen Wyatt
(last updated January 22, 2011)
Stuart wrote about a need he had of consolidating many different text files into a single Word document. Using the Insert | File option proved to be tedious, particularly when there were 20 or 30 different text files to be combined.
Fortunately for Stuart, his file names were predictable: C1000.TXT, C1001.TXT, etc. This makes putting together a macro to do the consolidation rather easy. The following example will look for files C1000.TXT through C1030.TXT, all in the C:\ directory, and combine them into the current document:
Sub CombineFiles() Dim J As Integer Dim sFile As String For J = 1000 To 1030 sFile = "c:\c" & Trim(Str(J)) & ".txt" If (Dir(sFile) > "") Then Selection.InsertFile FileName:=sFile, ConfirmConversions:=False Selection.TypeParagraph End If Next End Sub
If you want to change the range of files being inserted, just change the values at the beginning of the For ... Next loop. If the files are in a different directory, you can change the path used in the next code line, where sFile is set. If a file within the range is missing, it is automatically skipped.
There is an even easier way of combining files, however, that doesn't even involve the use of Word. You can use the following command at the DOS command line:
copy C1???.txt single.txt
This would combine up to 1000 files, C1000.TXT through C1999.TXT, into a single text file called SINGLE.TXT. The original files remain untouched. If you wanted to combine a smaller number of files, you could use this format:
copy C1020.txt+C1021.txt+C1022.txt+C1023.txt single.txt
This usage results in the four files, C1020.TXT through C1023.TXT, being combined into SINGLE.TXT. You can add as many files together in this manner as you desire.
There is one caveat to this technique, however. The copy command results in no extra characters being added to a file at all. In other words, the contents of C1021.TXT are placed immediately after C1020.TXT. For example if C1020.TXT contains "text 1020" and C1021.TXT contains "text 1021" then SINGLE.TXT will contain "text 1020text 1021". The only way around this to either edit each source file to make sure it ends with a carriage return, or to use the macro previously presented.
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (1607) applies to Microsoft Word 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Word (Word 2007 and later) here: Combining Documents.
Create Custom Apps with VBA! Discover how to extend the capabilities of Office 2013 (Word, Excel, PowerPoint, Outlook, and Access) with VBA programming, using it for writing macros, automating Office applications, and creating custom applications. Check out Mastering VBA for Office 2013 today!
After using Word for a while, you may notice some "litter" of unused files on your hard drive. This tip explains how ...Discover More
Word allows you to create custom document properties that stay with a document and can be inserted through the use of ...Discover More
If you ever end up with file names that contain percent signs followed by numbers, it could be due to some sort of file ...Discover More
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
Got a version of Word that uses the menu interface (Word 97, Word 2000, Word 2002, or Word 2003)? This site is for you! If you use a later version of Word, visit our WordTips site focusing on the ribbon interface.