GetAttr 函數

Applies To
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

注意

如果 Microsoft Jet 運算式服務以沙箱模式執行,則會停用本主題中所述的函數、方法、物件或屬性,這會防止評估可能不安全的運算式。 如需沙箱模式的詳細資訊,請在說明中搜尋「沙箱模式」。

傳回表示檔案、目錄或資料夾屬性的 整數

語法

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.