Excelが大好きだ!

Excel大好き経理マンがExcelの事を書き綴っていきます。


スポンサードリンク

ファイル属性の判定方法(1.GetAttr関数の使い方)

ファイルやフォルダの属性を調べる関数と、その関数の返り値について検証してみました。

GetAttr関数構文

ファイルやフォルダの属性を調べるには

GetAttrを使用します。

Function GetAttr(pathname as string) as VBFileAttribute

引数pathnameにはフォルダやファイルのアドレスを指定します。

GetAttr関数の返り値はVBFileAttribute列挙型です。

VBFileAttribute列挙型

定数 内容
vbNormal 0 標準
vbReadOnly 1 読み取り専用
vbHidden 2 隠しファイル
vbSystem 4 システムファイル
vbVolume 8 ディスクドライブのボリュームラベル
vbDirectory 16 フォルダーまたはディレクト
vbArchive 32 前回のバックアップ以降に変更されているファイル
vbAlias 64 リンクまたはショートカット



2019/01/27追記

以下はVBFileAttribute列挙型では定義されていないが、GetAttr関数の返り値として返ってくる値です。

内容
128 他の属性なし
256 一時ファイル
512 スパースファイル
1024 リパースポイント
4096 オフライン属性
8192 非インデックス対象ファイル
16384 暗号化
32768 整合性
65536 (システムが利用するために予約)
131072 スクラブ ファイルなし
1282048 他の属性なし圧縮

ファイル | Win32アプリケーション開発

GetAttr関数使用例

GetAttr("C:\Users\XXX\Desktop\TEST")

私の環境で上記のコードを実行すると

16が返ってきます。

フォルダーですね。

GetAttr("C:\Users\XXX\IntelGraphicsProfiles")

このコードを実行すると22が返ってきます。

上述した返り値の一覧にはありません。

複数の属性を持つ場合、返り値は属性の足し算で返ってきます。

この場合でいうと22 = 16 + 4 + 2 が返ってきていますので

vbDirectory + vbSystem + vbHidden の3つの属性を持っていることになります。

まとめ

ファイル・フォルダの属性を調べるGetAttr関数を紹介しました。

今回は使用例で3つの属性が含まれているという話をしましたが、

次回は返り値の数値に調べたい属性が含まれているかいないかの判定方法を検証します。