GetAttr函数返回文件属性的
返回一个Integer,此为一个文件、目录、或文件夹的属性。
语法
GetAttr(pathname)
必要的pathname参数是用来指定一个文件名的字符串表达式。pathname可以包含目录或文件夹、以及驱动器。
返回值
由GetAttr返回的值,是下面这些属性值的总和:
常数值描述
vbNormal0常规
vbReadOnly1只读
vbHidden2隐藏
vbSystem4系统文件
vbDirectory16目录或文件夹
vbArchive32上次备份以后,文件已经改变
vbalias64指定的文件名是别名。
注意这些常数是由VBA指定的,在程序代码中的任何位置,可以使用这些常数来替换真正的值。
说明
若要判断是否设置了某个属性,在GetAttr函数与想要得知的属性值之间使用And运算符与逐位比较。如果所得的结果不为零,则表示设置了这个属性值。例如,在下面的And表达式中,如果档案(Archive)属性没有设置,则返回值为零:
Result=GetAttr(FName)AndvbArchive
如果文件的档案属性已设置,则返回非零的数值。
FileDateTime返回文件修改时间
返回一个Variant(Date),此为一个文件被创建或最后修改后的日期和时间。
语法
FileDateTime(pathname)
必要的pathname参数是用来指定一个文件名的字符串表达式。pathname可以包含目录或文件夹、以及驱动器。
FileLen返回文件长度
返回一个Long,代表一个文件的长度,单位是字节。
语法
FileLen(pathname)
必要的pathname参数是用来指定一个文件名的字符串表达式。pathname可以包含目录或文件夹、以及驱动器。
说明
当调用FileLen函数时,如果所指定的文件已经打开,则返回的值是这个文件在打开前的大小。
注意若要取得一个打开文件的长度大小,使用LOF函数。
Dir$返回文件是否存在
返回一个String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。
语法
Dir[(pathname[,attributes])]
Dir函数的语法具有以下几个部分:
部分描述
pathname可选参数。用来指定文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。如果没有找到pathname,则会返回零长度字符串("")。
attributes可选参数。常数或数值表达式,其总和用来指定文件属性。如果省略,则会返回匹配pathname但不包含属性的文件。
设置值
attributes参数的设置可为:
常数值描述
vbNormal0(缺省)指定没有属性的文件。
vbReadOnly1指定无属性的只读文件
vbHidden2指定无属性的隐藏文件
VbSystem4指定无属性的系统文件
vbVolume8指定卷标文件;如果指定了其它属性,则忽略vbVolume
vbDirectory16指定无属性文件及其路径和文件夹。
注意这些常数是由VBA所指定的,在程序代码中的任何位置,可以使用这些常数来替换真正的数值。
说明
Dir支持多字符(*)和单字符(?)的通配符来指定多重文件。
由于Macintosh不支持通配符,使用文件类型指定文件组。可以使用MacID函数指定文件类型而不用文件名。比如,下列语句返回当前文件夹中第一个TEXT文件的名称:
Dir("SomePath",MacID("TEXT"))
为选中文件夹中所有文件,指定一空串:
Dir("")
在MicrosoftWindows中,如果在Dir函数中使用MacID函数,将产生错误。
任何大于256的attribute值都被认为是MacID函数的值。
在第一次调用Dir函数时,必须指定pathname,否则会产生错误。如果也指定了文件属性,那么就必须包括pathname。
Dir会返回匹配pathname的第一个文件名。若想得到其它匹配pathname的文件名,再一次调用Dir,且不要使用参数。如果已没有合乎条件的文件,则Dir会返回一个零长度字符串("")。一旦返回值为零长度字符串,并要再次调用Dir时,就必须指定pathname,否则会产生错误。不必访问到所有匹配当前pathname的文件名,就可以改变到一个新的pathname上。但是,不能以递归方式来调用Dir函数。以vbDirectory属性来调用Dir不能连续地返回子目录。
提示由于文件名并不会以特别的次序来返回,所以可以将文件名存储在一个数组中,然后再对这个数组排序。