合并文档(Microsoft Word)
Stuart谈到了他需要将许多不同的文本文件合并到一个Word文档中的需求。手动插入文件被证明是乏味的,特别是当要合并20或30个不同的文本文件时。
幸运的是,对于Stuart来说,他的文件名是可以预测的:C1000.TXT,C1001.TXT等。这使将宏放到一起进行合并变得相当容易。下面的示例将在C:\目录中查找文件C1000.TXT至C1030.TXT,并将它们组合到当前文档中:
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
如果要更改插入文件的范围,只需更改For … Next循环开始处的值。如果文件位于其他目录中,则可以更改下一个设置sFile的代码行中使用的路径。如果缺少该范围内的文件,则会自动跳过该文件。
有一种更简单的组合文件的方法,但是,甚至不涉及Word的使用。您可以在Windows命令提示符处使用以下命令:
copy C1???.txt single.txt
这会将多达1000个文件(从C1000.TXT到C1999.TXT)组合到一个名为SINGLE.TXT的文本文件中。原始文件保持不变。
如果要合并较少数量的文件,则可以使用以下格式:
copy C1020.txt+C1021.txt+C1022.txt+C1023.txt single.txt
这种用法导致C1020.TXT到C1023.TXT这四个文件被合并到SINGLE.TXT中。您可以根据需要以这种方式将任意多个文件添加在一起。
但是,此技术有一个警告。复制命令不会在文件中添加任何额外的字符。换句话说,C1021.TXT的内容立即放置在C1020.TXT之后。例如,如果C1020.TXT包含“文本1020”,而C1021.TXT包含“文本1021”,则SINGLE.TXT将包含“文本1020text 1021”。解决此问题的唯一方法是编辑每个源文件以确保它以回车结尾,或者使用先前显示的宏。
注意:
如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)上描述的宏,我准备了一个包含有用信息的特殊页面。
_WordTips_是您进行经济有效的Microsoft Word培训的来源。
合并文档。