ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

ファイルの検索・フォルダ内のファイル一覧を取得(Dir 関数)

      2015/12/19

Dir 関数

Dir 関数で、ファイルの存在を確認したり、指定したフォルダ内のファイルの一覧を取得したりすることができます。


【書式】

string = Dir ( [ pathname ,atribute ] )


引数・戻り値

  • string  ・・・  ファイルが存在する場合は、パスを除いたファイル名。存在しない場合は空文字(””)。
  • pathname  ・・・  検索するファイル、フォルダを指定します。フォルダを指定した場合は、指定したフォルダ内のファイルが検索対象となります。また、複数の文字を示す * や 1 文字を示す ? をワイルドカードとして使用することもできます。初回呼び出し時に、pathname を省略するとエラーが発生します。2回め以降は、最初に指定したパスが検索対象となります。また、Dir(“”) とするとカレントフォルダが検索対象となります。
  • atribute  ・・・  ファイルの属性を表す定数、値を指定します。
    定数 内容
    vbNormal 0 (既定値) 属性のないファイル。
    vbReadOnly 1 属性のないファイルと読み取り専用のファイル。
    vbHidden 2 属性のないファイルと隠しファイル。
    VbSystem 4 属性のないファイルとシステム ファイル。Macintosh では使用できません。
    vbVolume 8 ボリューム ラベル。他の属性を指定した場合は、vbVolume は無視されます。Macintosh では使用できません。
    vbDirectory 16 属性のないファイルとディレクトリまたはフォルダー。
    vbAlias 64 指定したファイル名がエイリアスとして設定されているファイル。Macintosh でのみ使用できます。


Dir 関数は、検索条件に合致するファイルが複数存在する場合、最初に見つかったファイルを返します。次に、引数なしで、Dir 関数 を実行すると、次のファイルを返します。これを続けることで、指定したフォルダ内のすべてのファイルを取得することが可能です。

Dir 関数とワイルドカードを組み合わせて、ファイルの存在確認を確認する場合の注意
  Dir(*.xls)
と指定すると、拡張子「xls」だけでなく「xlsx」や「xlsm」など「xls」を含む拡張子すべてが検索条件に一致してしまうので注意が必要です。



Dir 関数 使用例

サンプルVBAソース 1(ファイル・フォルダの検索)


実行結果 1

Dir 関数 01



サンプルVBAソース 2(フルパスからファイル名を取得)


実行結果 2

Dir 関数 02



サンプルVBAソース 3(ファイル一覧を取得)


実行結果 3

Dir 関数 03



 - Excel・ファイルの操作 , , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

Excel の組み込みダイアログボックス(Dialog, Dialogs)

Excel の組み込みダイアログボックスを表示 Dialog オブジェクト を使 …

no image
組み込みダイアログボックスの引数一覧

組み込みダイアログボックスの引数一覧 Excel の組み込みダイアログボックスを …

FileDateTime 関数
ファイルのタイムスタンプを取得(FileDateTime 関数)

ファイルのタイムスタンプを取得 ファイルのタイムスタンプを取得するには、File …

Open ステートメント・Close ステートメント
テキストファイル(Open ステートメント・Close ステートメント)

新規ブックを開かずにテキストファイルを開く OpenText ステートメント を …

Get ステートメント Binary モード 01
テキストファイル:データを読み込む(Get ステートメント)

Get ステートメント Open ステートメント をランダムアクセスモード(Ra …

ディレクトリまたはフォルダの作成(MkDir ステートメント)

ディレクトリまたはフォルダの作成 新しいディレクトリまたはフォルダを作成するには …

RmDir ステートメント 00
ディレクトリまたはフォルダの削除(RmDir ステートメント)

ディレクトリまたはフォルダの削除 ディレクトリまたはフォルダを削除するには、Rm …

LOF 関数・Loc 関数
開いているファイルのサイズ・位置の取得(LOF 関数・Loc 関数)

LOF 関数 Open ステートメント により開かれたファイルのサイズをバイト単 …

テキストファイル:データを読み込む(Input # ステートメント)

Input # ステートメント Open ステートメント をシーケンシャル入力モ …

FileLen 関数
ファイルサイズを取得(FileLen 関数)

ファイルサイズを取得 ファイルのサイズ(バイト数)を取得するには、FileLen …