GetAttr 関数

適用先
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Microsoft Jet Expression Service がサンドボックス モードで実行されている場合 (安全でない可能性がある式の評価は行われません)、このトピックで説明する関数、メソッド、オブジェクト、またはプロパティは無効です。 サンドボックス モードの詳細については、ヘルプで "サンドボックス モード" を検索してください。

ファイル、ディレクトリ、フォルダーの属性を示す整数型を返します。

構文

GetAttr(pathname)

必須の 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 関数によって返される値と、必要な個々のファイル属性の値のビットごとの比較を実行します。 結果が 0 ではない場合、その属性は名付けられたファイルに設定されます。 たとえば、次の AND 式の戻り値は、アーカイブ属性が設定されていない場合 0 になります。

Result = GetAttr(FName) And vbArchive

アーカイブ属性が設定されている場合は、0 以外の値が返されます。

この例では、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.