使用access的VBA能力,批量读取文件夹中的TXT文件,将TXT的文件名读取写入到access的“文章”表的“标题”字段,将TXT的文件内容读取写入到access的“文章”表的“正文”字段,其中TXT的默认编码为UTF-8,操作步骤:
1、新建一个Access数据库文件,文件中创建“文章”表,设置“标题”、“正文”两个字段
2、打开“数据库工具”》"Visual Basic"
3、创建模块,并输入以下代码
SubImportTxtFilesToAccess() DimstrPathAsString DimstrFileAsString DimstrContentAsString DimobjFSOAsObject DimobjFolderAsObject DimobjFileAsObject DimdbAsDAO.Database DimrsAsDAO.Recordset DimobjStreamAsObject '设置文件夹路径 strPath="C:\TextFiles\" '创建文件系统对象 SetobjFSO=CreateObject("Scripting.FileSystemObject") '获取文件夹对象 SetobjFolder=objFSO.GetFolder(strPath) '获取Access数据库对象 Setdb=CurrentDb() '获取文章表的记录集 Setrs=db.OpenRecordset("文章",dbOpenTable) '遍历文件夹内的所有TXT文件 ForEachobjFileInobjFolder.Files IfRight(objFile.Name,3)="txt"Then'检查文件后缀是否为TXT strFile=objFile.Name strContent="" '读取文件内容 SetobjStream=CreateObject("ADODB.Stream") objStream.Charset="UTF-8" objStream.Open objStream.LoadFromFileobjFile.Path strContent=objStream.ReadText(-1)'指定编码方式为UTF-8 objStream.Close rs.AddNew'新增一条记录 rs!标题=strFile'将文件名写入文章表的“标题”字段 rs!正文=strContent'将文件内容写入文章表的“正文”字段 rs.Update'提交记录 EndIf NextobjFile '关闭记录集 rs.Close Setrs=Nothing '关闭数据库对象 db.Close Setdb=Nothing '清空对象变量 SetobjFile=Nothing SetobjFolder=Nothing SetobjFSO=Nothing MsgBox"导入完成。" EndSub
其中文件夹路径改为实际的路径即可。
4、运行创建好的VBA脚本
5、执行结果图