分享

VBA专题08:使用VBA操作文本文件

 hercules028 2020-01-28

excelperfect

文本文件是一种常用的文件格式,使用文本文件读取和存储信息不仅快而且简单。VBA能够很好地操作文本文件,下面是要使用到的一些代码指令。

Open

打开文件以便进行读写。

For Output

指定该模式打开文本文件时,创建或修改文本文件,但无法从该文件中提取内容。

For Input

指定该模式打开文本文件时,从该文件中提取信息,但不能修改该文件。

For Append

在文本文件末尾添加新文本。

FreeFile

提供尚未使用的文件序号。使用FreeFile,自动返回下一个可用的序号供文件使用。

Input

从文件中读取指定数量的字符。

Write

写入带有引号的文本到文件中。

Print

写入文本到文件中,但不带引号。

Close

关闭文件。

代码1:创建文本文件

Sub CreateTextFile() Dim iFileNumber As Integer Dim strFilePath As String '创建的文件的路径和名字 strFilePath = 'C:\MyFile.txt' '确定下一个可用的文件序号 iFileNumber = FreeFile '打开文本文件 Open strFilePath For Output As iFileNumber '写入文本 Print #iFileNumber, 'Hello!' Print #iFileNumber, 'This is a text file.' Print #iFileNumber, 'excelperfect.' '保存并关闭文件 Close iFileNumberEnd Sub

代码2:从文本文件中提取文本

Sub ExtractTextFormFile()    Dim iFileNumber As Integer    Dim strFilePath As String    Dim strFileContent As String         '文本文件的路径   strFilePath = 'C:\MyFile.txt'      '确定下一个可用的文件序号   iFileNumber = FreeFile      '打开文件    Open strFilePath For Input As iFileNumber      '将文件内容存储到字符串变量中   strFileContent = Input(LOF(iFileNumber), iFileNumber)      '输出文件内容    MsgBox strFileContent      '关闭文件    Close iFileNumberEnd Sub

代码3:修改文本文件

Sub ModifyTextFile() Dim iFileNumber As Integer Dim strFilePath As String Dim strFileContent As String '文本文件的路径 strFilePath = 'C:\MyFile.txt' '确定下一个可用的文件号 iFileNumber = FreeFile '以读文件模式打开文本文件 Open strFilePath For Input As iFileNumber '在字符串变量中存储文件内容 strFileContent = Input(LOF(iFileNumber), iFileNumber) '关闭文本文件 Close iFileNumber '查找并替换内容 strFileContent = Replace(strFileContent, 'Hello','Hi') '确定下一个可用的文件号 iFileNumber = FreeFile '以读写文件模式打开文本文件 Open strFilePath For Output As iFileNumber '写入新数据到文件中 Print #iFileNumber, strFileContent '关闭文件 Close iFileNumberEnd Sub

代码4:在文本文件中添加内容

Sub AppendDataToTextFile()    Dim iFileNumber As Integer    Dim strFilePath As String      '新文件的路径和名字    strFilePath= 'C:\MyFile.txt'      '确定下一个可用的文件号   iFileNumber = FreeFile      '打开文件    Open strFilePath For Append As iFileNumber      '写入文本    Print #iFileNumber, ''    Print #iFileNumber, 'Excel Technology'    Print #iFileNumber, 'persistence'      '保存并关闭文件    Close iFileNumberEnd Sub

代码5:使用带分隔符的文本文件填充数组

Sub FillArrayWithTextFile() Dim strDelimiter As String Dim iFileNumber As Integer Dim strFilePath As String Dim strFileContent As String Dim LineArray() As String Dim DataArray() As String Dim TempArray() As String Dim row As Long Dim col As Long Dim i As Long Dim j As Long strDelimiter = ';' strFilePath = 'C:\MyFile.txt' row = 0 '以读模式打开文本文件 iFileNumber= FreeFile Open strFilePath For Input As iFileNumber '将文件内容存储到字符串变量中 strFileContent = Input(LOF(iFileNumber), iFileNumber) '关闭文本文件 Close iFileNumber '拆分成行数据 LineArray() = Split(strFileContent, vbCrLf) '读取数据到数组变量中 For i =LBound(LineArray) To UBound(LineArray) If Len(Trim(LineArray(i))) <> 0 Then '通过分隔符拆分行数据 TempArray = Split(LineArray(i), strDelimiter) '确定列数 col = UBound(TempArray) '重新调整数组边界 ReDim Preserve DataArray(col, row) '将行数据存储到数组 For j = LBound(TempArray) To UBound(TempArray) DataArray(j, row) = TempArray(j) Next j End If '下一行 row =row + 1 Next iEnd Sub

代码6:删除文本文件

Sub DeleteTextFile()    Dim strFilePath As String      '文本文件路径   strFilePath = 'C:\MyFile.txt'      '删除文件    Kill strFilePathEnd Sub

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多