如题,我像检验某个文件的访问权限,如果有访问权限,就提示“该文件可以读取”
如果没有,则提示“本程序无法读取该文件”
谢谢
GetAttr 函数
返回一个 Integer,此为一个文件、目录、或文件夹的属性。
语法
GetAttr(pathname)
必要的 pathname 参数是用来指定一个文件名的字符串表达式。pathname 可以包含目录或文件夹、以及驱动器。
返回值
由 GetAttr 返回的值,是下面这些属性值的总和:
常数
值
描述
vbNormal
0
常规
vbReadOnly
1
只读
vbHidden
2
隐藏
vbSystem
4
系统文件
vbDirectory
16
目录或文件夹
vbArchive
32
上次备份以后,文件已经改变
vbalias
64
指定的文件名是别名。
注意 这些常数是由
VBA 指定的,在程序代码中的任何位置,可以使用这些常数来替换真正的值。
说明
若要判断是否设置了某个属性,在 GetAttr 函数与想要得知的属性值之间使用 And
运算符与逐位比较。如果所得的结果不为零,则表示设置了这个属性值。例如,在下面的
And 表达式中,如果档案 (Archive) 属性没有设置,则返回值为零:
Result = GetAttr(FName) And vbArchive
如果文件的档案属性已设置,则返回非零的数值追问
返回一个 Integer,此为一个文件、目录、或文件夹的属性。
语法
GetAttr(pathname)
必要的 pathname 参数是用来指定一个文件名的字符串表达式。pathname 可以包含目录或文件夹、以及驱动器。
返回值
由 GetAttr 返回的值,是下面这些属性值的总和:
常数
值
描述
vbNormal
0
常规
vbReadOnly
1
只读
vbHidden
2
隐藏
vbSystem
4
系统文件
vbDirectory
16
目录或文件夹
vbArchive
32
上次备份以后,文件已经改变
vbalias
64
指定的文件名是别名。
注意 这些常数是由
VBA 指定的,在程序代码中的任何位置,可以使用这些常数来替换真正的值。
说明
若要判断是否设置了某个属性,在 GetAttr 函数与想要得知的属性值之间使用 And
运算符与逐位比较。如果所得的结果不为零,则表示设置了这个属性值。例如,在下面的
And 表达式中,如果档案 (Archive) 属性没有设置,则返回值为零:
Result = GetAttr(FName) And vbArchive
如果文件的档案属性已设置,则返回非零的数值追问
不行啊,不管有没有权限都返回32
温馨提示:答案为网友推荐,仅供参考
第1个回答 2014-01-26
请看下面的代码:
On Error GoTo myErrOpen myFile For Input As #1'"myFile"是你要判断的文件
Close #1
MsgBox "该文件可以读取"
Exit Sub
myErr:
MsgBox "本程序无法读取该文件"
请把代码加在一个过程或函数里。
注意,没有文件的时候也会弹出提示框:“本程序无法读取该文件”
本回答被提问者采纳