GetAttr関数
GetAttr関数は、VBA関数の中でファイル・フォルダに関する関数に分類される関数です。
目次
GetAttr関数とは
GetAttr関数は、ファイルまたはフォルダの属性を表す整数型 (Integer) の整数を返します。
構文 | GetAttr(pathname) | |
---|---|---|
引数 | 省略 | 説明 |
pathname | × | 引数 pathname には、ファイル名を示す文字列式を指定します。フォルダ名およびドライブ名を含めて指定できます。 |
戻り値
定数 | 値 | 説明 |
---|---|---|
vbNormal | 0 | 標準ファイル |
vbReadOnly | 1 | 読み取り専用ファイル |
vbHidden | 2 | 隠しファイル |
vbSystem | 4 | システム ファイル。Macintosh では使用できません。 |
vbDirectory | 16 | フォルダ |
vbArchive | 32 | アーカイブ (属性最後にバックアップした後で、変更されたファイル)。Macintosh では使用できません。 |
vbAlias | 64 | エイリアス ファイル。Macintosh でのみ使用できます。 |
これらの定数は、Visual Basic で定義されています。実際の数値の代わりにコードで使用することができます。
ファイル属性を調べるには、And 演算子を使って、GetAttr 関数の返す値と調べたいファイル属性の値をビット単位で比較します。演算結果が 0 以外の値 (真 (True)) の場合、指定したファイルにはその属性が設定されています。たとえば、アーカイブ属性が設定されていないとき、次の And 式は 0 を返します。
Result = GetAttr(FName) And vbArchive
アーカイブ属性が設定されている場合は、0 以外の値を返します。
GetAttr関数のサンプルコード
次の例は、GetAttr 関数を使って、ファイルおよび、フォルダの属性を求めます。Macintosh の場合、vbNormal、vbReadOnly、vbHidden および vbAlias の定数値のみが使用できます。
Sub Sample
Dim MyAttr
' TESTFILE は、隠しファイル属性であると仮定します。
MyAttr = GetAttr("TESTFILE") ' 2 を返します。
' TESTFILE が隠しファイル属性の場合は、0 以外の値を返します。
Debug.Print MyAttr And vbHidden
' TESTFILE は、隠しファイル属性で読み取り専用であると仮定します。
MyAttr = GetAttr("TESTFILE") ' 3 を返します。
' TESTFILE が隠しファイル属性の場合は、0 以外の値を返します。
Debug.Print MyAttr And (vbHidden + vbReadOnly)
' MYDIR は、フォルダであると仮定します。
MyAttr = GetAttr("MYDIR") ' 16 を返します。
End Sub
実行結果
解説
ファイル・フォルダに関する関数一覧
関数名 | 内容 |
---|---|
CurDir | 指定したドライブの現在のパスを返します。 |
Dir | 指定したパターンやファイル属性と一致するファイルまたはフォルダの名前を返します。 |
EOF | ファイルの現在位置が末尾かどうかを調べて結果を返します。 |
FileAttr | ファイルから指定した種類の情報を返します。 |
FileDateTime | ファイルの作成日時または最後に修正した日を返します。 |
FileLen | ファイルのサイズを返します。 |
FreeFile | 指定したファイル番号の範囲から、次に使用可能なファイル番号を返します。 |
GetAttr | ファイルまたはフォルダの属性を返します。 |
Loc | 開いているファイルの読込位置または書き込み位置を返します。 |
LOF | 開いているファイルの長さを返します。 |
Seek | 開いているファイルの読込位置または書き込み位置を返します。 |
Tab | 文字の出力位置を移動します。 |
VarType | 変数の内容を示す値を返します。 |