- 系统环境:Windows 10
- Excel:2016版本
这个系列集锦一些常用的功能模块,在一些项目中会穿插应用
功能模块中又包括很多子模块,本文涉及的是:文件及文件夹
今天讲讲文本文件相关的一些操作
这里指的文本文件指的是类似于.txt文件格式,可以直接使用记事本(NotePad)打开,文件内容直接可读,无需额外编码
包括.xml,.html,.py这类也适用,本质上它们也是一些字符串,只不过用不同的软件打开,显示的效果会有区别
Part 1:准备工作
- FSO引入
Set fso = CreateObject("Scripting.FileSystemObject")
Part 2:常用功能
- 判断文本文件是否存在,如果存在, 返回True
fso.FileExists(WenjianAddr)
其中WenjianAddr为文件的绝对地址
- 新建文件,需要包含后缀名,fso.CreateTextFile(文件绝对地址, True),True表示覆盖原有文件
Set objNewFile = fso.CreateTextFile(WenjianAddr, True)
其实这个函数,还有一个参数,表示编码方式,有兴趣者可以去研究一下
创建文件后关闭使用objNewFile.Close,只有关闭了,之后才可以删除该文件
- 获取文件,fso.GetFile(文件绝对地址)
Set objNewFile1 = fso.GetFile(WenjianAddr)
- 删除文件,获取文件后,使用Delete直接删除
Set objNewFile1 = fso.GetFile(WenjianAddr)
objNewFile1.Delete
- 删除文件,fso.DeleteFile (文件绝对地址)
fso.DeleteFile (WenjianAddr)
使用删除文件,必须确保文件未被打开或者打开后已关闭
- 打开文件,fso.OpenTextFile(文件绝对地址,操作方式, 编码方式)
Const ForReading = 1, ForWriting = 2, ForAppending = 8, TristateTrue = -1
Set strNewFileOpen = fso.OpenTextFile(WenjianAddr, ForAppending, TristateTrue)
编码方式包括三种:使用系统缺省(-2);使用Unicode(-1);使用ASCII(0)
推荐使用Unicode,能够有效显示中文
- 复制文件,fso.CopyFile 原地址,新地址,FileCopy函数亦可以实现
fso.CopyFile WenjianAddr1, CurrentDir & WenjianName2
- 重命名文件
Set objNewFile1 = fso.GetFile(WenjianAddr1)
objNewFile1.Name = "3.txt"
以上,为本次的介绍内容,下回见。
本文首发于微信公众号:Excel高效办公之VBA。排版和细节略作修改,发于头条