利用VBA代码实现快速合并文本
2015-04-29
为了提高录入的效率,同事分别安排下属录入不同的文本,并以数字序号进行命名,最后再在Word中将这些文本文档合并起来。常规的方法是切换到“插入”选项卡,在“文本”功能组选择“对象→文件中的文字”,如图1所示,按照提示插入相关的文本,操作起来比较麻烦一些。其实,我们也可以利用VBA代码实现快速合并文本的任务:
打开Word文档,按下“Alt+F11”组合键,打开Microsoft Visual Basic for Applications编辑器窗口,依次选择“插入→模块”,在右侧窗格插入一个空白模块,如图2所示,手工输入或粘贴如下代码:
Sub hebin()
Dim fs1, f1
Set fs1 = CreateObject("Scripting.FileSystemObject")
For i = 1 To 4
file1 = "h:\Download\文本合并\" & i & ".txt"
Set f1 = fs1.OpenTextFile(file1, 1, 0)
Selection.TypeText f1.Readall
Selection.TypeParagraph
f1.Close
Next i
Set f1 = Nothing
Set fs1 = Nothing
End Sub
上述代码中的代码名“hebin”可以任意命名,“h:\Download\文本合并\”表示文本文档所在的路径名称,“For i = 1 To 4”表示待合并文本的数量,代码检查没有错误之后,依次选择“文件→关闭并返回到Microsoft Word”命令,返回Word主界面,按下“Alt+F8”组合键,打开“宏”对话框,选择并运行宏,很快就可以完成合并文本的任务。
补充:如果文本文档的数量发生变化,只需要修改“ For i = 1 To 4”即可,但必须保证这些文本文档的文件名都是数字的形式。