VBA:パスの最後がフォルダかファイルかを確認する方法(GetAttr関数)


 VBAでツールを作っていると、パスからフォルダ名やファイル名を取得したい場合があります。その際に、パスの最後がフォルダなのかファイルなのかを判別したい場合があります。
 そのような場合に使える「GetAttr」関数の説明と、サンプルコードを記事にしておきます。

◆「GetAttr」関数を使ってチェックする方法

「GetAttr」関数とは

 「GetAttr」関数はパスから、ファイル、ディレクトリ、またはフォルダーの属性を表す値を返してくれます。

戻り値は以下になります。Microsoftのサイトを参照にしています。
フォルダの場合は「16」が戻ってきます。
定数 説明
vbNormal 0 標準
vbReadOnly 1 読み取り専用
vbHidden 2 非表示
vbSystem 4 システム ファイル
vbDirectory 16 ディレクトリまたはフォルダー
vbArchive 32 前回のバックアップ以降にファイルが変更されています
vbAlias 64 指定されたファイル名はエイリアス

◆「GetAttr」関数のサンプルコード

このサンプルでは、フォルダかどうかの判別したあと、処理を分岐できるようにしてあります。


おすすめ