GetAttr 関数

ファイル、ディレクトリ、またはフォルダーの属性を表す Integer を返します。

構文

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 により指定されます。 これらの名前は、実際の値の代わりにコードのどの部分でも使用できます。

解説

設定されている属性を確認するには、And 演算子を使用して ビット単位の比較を行い、GetAttr 関数から返される値と目的の個々のファイル属性の値を比較します。 結果が 0 以外の場合は、指定したファイルに対してその属性が設定されています。 たとえば、Archive 属性が設定されていない場合、次の And 式の戻り値は 0 です。

Result = GetAttr(FName) And vbArchive

Archive 属性が設定されている場合は、0 以外の値が返されます。

この例では、GetAttr 関数を使用して、ファイルとディレクトリまたはフォルダーの属性を確認します。 Macintosh では、定数 vbNormalvbReadOnlyvbHidden、および 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.

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。