VBA调用外部对象02:FileSystemObject

2020-07-28 11:04:08 浏览数 (1)

FileSystemObject与字典Dictionary都是工具-应用中Microsoft Scripting Runtime的对象,从名字能够看出,这个对象就是用来操作文件的。

和VBA自带的VBA库下FileSystem相比,FileSystemObject这个外部对象封装的功能更多,用起来也更为方便。

几乎前面提到的关于文件的操作这个对象都有:

Scripting对象库中还有File、Folder、TextStream等对象,这几个都是可以使用FileSystemObject的一些方法来创建的。

将这些单独做成一个对象的目的主要也是为了使用上的方便,在VBA里对文件的相关操作使用FileSystemObject对象是非常的方便的。

比如查找遍历文件:

代码语言:javascript复制
Sub GetFilesFSO()
    Dim fso As Object
    Dim file As Object
    Dim folder As Object

    Set fso = CreateObject("Scripting.FileSystemObject")
    '根据路径获取文件夹对象
    Set folder = fso.GetFolder(ThisWorkbook.path)
    '遍历文件
    For Each file In folder.Files
        Debug.Print file.path
    Next file

    '释放对象
    Set file = Nothing
    Set folder = Nothing
    Set fso = Nothing
End Sub

这种对象形式的使用非常好理解,基本模式都是创建对象,使用对象的属性、方法等。

但是以前也说过,这种封装的功能都是底层做好了让我们直接去使用的,我们根本不知道其具体的实现方法和原理,对编写程序来说,个人认为是不大好的,可能初学者学习使用起来比较容易,这是因为封装过程已经隐藏了许多细节上的东西。

所以这种虽然好用,但是还是建议初学者多去使用前面介绍的一些文件操作方法,等以后对文件操作的原理有了一定的理解之后,再去使用这种方便的封装好了的对象。

0 人点赞