Word批量把多个TXT文本导入合并成一篇文档教程
整理笔记、小说素材、日志资料的时候,文件夹下面一大堆零散txt文本,如果一个个打开复制粘贴到Word,文件数量多会耗费巨量时间,还容易出现漏文件、复制错内容。Word自带插入文件功能,不用VBA不用插件,可以批量读取整个文件夹下txt文件,合并到同一个Word文档。WPS文字操作逻辑完全一致。本篇讲解操作步骤,编码乱码问题处理,以及合并顺序控制。
操作步骤
1、新建一个空白Word文档,作为最终合并输出的总文档。
2、光标放在空白文档开头,顶部菜单栏切换到【插入】选项卡。
3、插入功能区找到「对象」按钮,点击下拉小箭头,选择「文件中的文字」。
4、弹出文件选择窗口,文件类型下拉框选择:所有文件(*.*)。然后框选需要合并的全部txt文本。按住Ctrl鼠标多选多个txt文件。
5、点击插入,Word会依次读取选中每一个txt,把文本内容全部导入当前空白文档,拼接在一起。
非常关键:文件合并顺序控制
Word按照你在文件选择窗口选中文件的排序,依次导入内容。Windows文件列表的排序,取决于文件夹的排序方式。如果你想要按01、02、03顺序拼接,txt文件名必须命名为 01.txt、02.txt,打开文件夹按照名称升序排列,多选的时候从上到下顺序就是导入拼接顺序。
如果直接1.txt、10.txt、2.txt,系统名称排序会1、10、2,合并顺序错乱。解决:文件名两位数补零命名。
txt导入出现中文乱码怎么解决
很多旧的txt文本编码是GB2312,Word默认以UTF‑8解析,导入之后中文全部问号乱码。两种处理办法:
方案1:先单独打开乱码的txt,文件‑另存为,编码选择UTF‑8保存,再执行插入合并。
方案2:全部txt统一编码之后再批量导入,避免大量文件逐个打开转码。
补充:能不能直接读取整个文件夹全部txt,不用手动多选?
Word原生图形界面做不到自动遍历整个文件夹全部txt,必须手动框选需要的文件。如果文件夹里面txt文件几十上百个,手动多选麻烦,这时需要Word VBA宏脚本遍历文件夹。
简单VBA示例,在VBA编辑器插入模块运行,读取指定文件夹全部txt插入文档:
Sub ImportTxtFiles()
Dim strFile As String
Dim strPath As String
strPath = "D:\note\"
strFile = Dir(strPath & "*.txt")
Do While strFile <> ""
Selection.InsertFile strPath & strFile
Selection.TypeParagraph
strFile = Dir
Loop
End Sub
⚠️运行VBA之前,建议先备份全部原始txt文件。WPS需要开启宏功能。
合并完成之后后续处理
批量导入之后,不同txt文件内容拼接在一起,可以统一设置样式,生成目录,另存为docx,完成素材整合。如果原始txt里面有多余空行,可以使用替换功能批量删除多余换行。
