vba中内置了很多与文件操作相关的语句或函数。
用vba内置的语句或函数操作文件时,首先需要先用Open语句打开文件。
它的语法如下:
Open pathname For mode [Access access] [lock] As [#]filenumber [Len=reclength]
具体的参数说明可以见链接。
比如语句
Open “C:\1.txt” For Binary Access Read As #1
表示以二进制只读方式打开文件C:\1.txt,生成文件号为1。
FreeFile 函数可以返回可供Open语句使用的文件号。
Get语句可以读取Open文件打开的内容到变量中,它的语法如下:
Get [#]filenumber, [recnumber], varname
其中参数recnumber表示要开始读取的位置,如果是第一个记录或者第一个字节就是1。
所有用Open语句打开的文件都可以用Close语句关闭,这样可以及时地释放内存以及避免文件号被占用。
如下的代码使用Open语句以二进制只读方式打开文件,并将文本文件的内容读取到变量中:
Sub QQ1722187970() Dim sPath As String sPath = "c:\1.txt" Dim i As Byte i = VBA.FreeFile Open sPath For Binary Access Read As i Dim iLen iLen = VBA.LOF(i) Dim sResult As String '先填充缓存区,使得内存足够存放要提取的数据 sResult = VBA.Space(iLen) Get i, , sResult '将文本文件的内容按照换行符分隔 arr = Split(sResult, vbCrLf) Debug.Print sResult '关闭打开的文件 Close End Sub
发表评论