大家好,我们今日讲解“VBA信息获取与处理”教程中第十七个专题“文件及文件夹信息的获取及操作”的第三节“利用VBA获取文件的信息和属性”,这个专题是非常实用的知识点,希望大家能掌握利用。教程会提供配套的程序文件。
第三节 利用VBA获取文件的信息和属性
我们在识别某个文件的时候,基本的操作首先是看资源管理器中的信息,其次是右键,点击属性,查看相关的介绍:
我们在写代码的时候遇到需要利用这些信息的情况,该如何去处理呢?今日这讲的内容就来是如何获得文件的信息及属性。
1 利用内置函数的方法获取信息
1)文件的大小:为了得到文件的大小,我们可以利用FileLen函数
FileLen函数:返回以字节表示的指定文件长度的 Long 值。
语法:FileLen(PathName)
参数:PathName必选。指定文件的 String 表达式。PathName可以包含目录(或文件夹)和驱动器。
备注:如果当调用FileLen函数时指定的文件是打开的,则返回的值表示文件打开时该文件的大小。若要获取打开文件的当前长度,请使用 LOF 函数。
2)文件的最后修改时间:为了获得文件的最后修改时间我们可以使用FileDateTime函数
FileDateTime函数:返回指示创建或最后修改文件的日期和时间的 Date 值。
语法:FileDateTime(PathName)
参数:PathName必选。指定文件的 String 表达式。PathName可以包含目录(或文件夹)和驱动器。
备注:使用FileDateTime函数显示的日期和时间的格式基于系统的区域设置。
3)文件的属性:为了获得文件的属性可以利用GetAttr函数
GetAttr函数:返回表示文件、目录或文件夹的属性的FileAttribute值。
参数:PathName必选。指定文件、目录或文件夹名的 String 表达式。PathName可以包括目录(或文件夹)和驱动器
由GetAttr返回的值是下列枚举值的和:
值 常数 说明
Normal vbNormal 正常。
ReadOnlyvbReadOnly 只读。
Hidden vbHidden 隐藏。
System vbSystem 系统文件。
Directory vbDirectory 目录或文件夹。
Archive vbArchive 自从上次备份后文件已更改。
Alias vbAlias 文件具有不同的名称。
备注:若要确定设置了哪几个属性,请使用 And 运算符对GetAttr函数返回的值以及您想要的个别文件属性值执行按位比较。如果结果不是零,则为命名的文件设置该属性。例如,如果没有设置 Archive 属性,则下列 And 表达式的返回值为零:
Result = GetAttr(FName) And vbArchive
4)设置文件属性,为了设置文件的属性可以利用SetAttr函数
语法:SetAttrPathNameAs String, Attributes As FileAttribute
参数: