文件操作——举例

2020-07-28 11:12:13 浏览数 (1)

1、根据表格内容批量创建文本文档:

我们前面提到过,并没有直接创建文件的功能,但是在写入1个不存在的文件的时候,程序是可以自动创建文件的,所以只需要把写入文件的功能中的写入操作省略掉,就仅仅是创建1个空文件了。

根据A列的内容,批量创建txt文件。

代码语言:javascript复制
Sub CreateTxts()
    Dim i_row As Long
    Dim Arr() As Variant
    
    '读取数据到数组
    i_row = Cells(Cells.Rows.Count, 1).End(xlUp).Row
    Arr = Range("A1").Resize(i_row).Value
    
    Dim i As Long
    For i = 2 To i_row
        CreateTxt ThisWorkbook.Path & "" & VBA.CStr(Arr(i, 1)) & ".txt"
    Next
    
    '释放数组
    Erase Arr
End Sub

Function CreateTxt(FilePath As String)
    Dim num_file As Integer
    
    '获取1个文件号
    num_file = VBA.FreeFile
    
    Open FilePath For Binary Access Write As #num_file

    '关闭文件
    Close #num_file
End Function

2、删除指定条件的文件:

比如需要删除某个文件夹下后缀为txt的文件,删除文件是使用Kill,再配合Dir的遍查找遍历来处理:

代码语言:javascript复制
Sub KillTxt()
    Dim fn As String
    Dim strdir As String
    
    strdir = ThisWorkbook.Path & ""
    '*代表查找所有的文件以及文件夹,也可以使用"*.xlsx"这样的形式查找后缀为.xlsx的文件
    '第一次调用返回第1个符合条件的,没有的情况下会返回空字符串
    fn = VBA.Dir(strdir & "*.txt", vbDirectory)
    Do Until fn = ""
        VBA.FileSystem.Kill strdir & fn
        '一定要再次调用不带参数的Dir函数,这将返回下一个符合条件的
        fn = VBA.Dir()
    Loop
End Sub

0 人点赞