GetAttr 函数

应用对象
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

注意

如果 Microsoft Jet 表达式服务在沙盒模式下运行,则禁用本主题中所述的函数、方法、对象或属性,从而阻止计算潜在的不安全表达式。 有关沙盒模式的详细信息,请在“帮助”中搜索“沙盒模式”。

返回一个 Integer 类型的值,该值代表文件、目录或文件夹的属性。

语法

getAttr (pathname)

所需的 pathname参数是指定文件名的字符串表达式。 路径名可能包括目录或文件夹以及驱动器。

返回值

GetAttr 返回的值是以下属性值的总和:

不断 说明
vbNormal 0 正常。
vbReadOnly 1 只读。
vbHidden 2 隐藏。
vbSystem 4 系统文件。 在 Macintosh 上不可用。
vbDirectory 16 目录或文件夹。
vbArchive 32 自上次备份以来,文件已更改。 在 Macintosh 上不可用。
vbAlias 64 指定的文件名是别名。 仅在 Macintosh 上可用。

    

注意

这些常量由 Visual Basic for Applications 指定。 名称可以在代码中的任何位置使用,以代替实际值。

备注

注意

下面的示例演示了如何在 Visual Basic for Applications (VBA) 模块中使用此函数。 有关使用 VBA 的详细信息,请在搜索旁边的下拉列表中选择“开发人员参考”,并在搜索框中输入一个或多个术语。

若要确定设置哪些属性,请使用 And 运算符对 GetAttr 函数返回的值和所需的单个文件属性的值执行按位比较。 如果结果不为零,则为命名文件设置该属性。 例如,如果未设置 存档 属性,则以下 And 表达式的返回值为零:

Result = GetAttr(FName) And vbArchive

如果设置了 存档 属性,则返回非零值。

示例

此示例使用 GetAttr 函数来确定文件和目录或文件夹的属性。 在 Macintosh 上,只有常量 vbNormal、vbReadOnly、vbHidden 和 vbAlias 可用。

Dim MyAttr
' Assume file TESTFILE has hidden attribute set.
MyAttr = GetAttr("TESTFILE")  ' Returns 2.
' Returns nonzero if hidden attribute is 
' set on TESTFILE.
Debug.Print MyAttr And vbHidden    
' Assume file TESTFILE has hidden and 
' read-only attributes set.
MyAttr = GetAttr("TESTFILE")  ' Returns 3.
' Returns nonzero if hidden attribute is 
' set on TESTFILE.
Debug.Print MyAttr And (vbHidden + vbReadOnly)    
' Assume MYDIR is a directory or folder.
MyAttr = GetAttr("MYDIR")  ' Returns 16.