ExcelマクロVBA入門 | 第79回.ファイル操作T(Dir) | Excelマクロの基礎と応用、エクセルVBAの入門・初級・初心者向け解説



最終更新日:2013-06-09

第79回.ファイル操作T(Dir)


フォルダのファイル一覧を取得したり、ファイルの存在確認をする事が出来ます。

指定したパターンやファイル属性と一致するファイルまたはフォルダの名前を表す文字列の値を返します。


Dir関数は、引数に指定したファイルが存在すると、そのファイル名を返し、存在しないと空欄を返します。

Dir関数

Dir[(pathname[, attributes])]

pathname 省略可能です。
ファイル名を表す文字列式を指定します。
フォルダ名およびドライブ名も含めて指定できます。
引数 pathname に指定した内容が見つからないときは、長さ 0 の文字列 (" ") を返します。
attributes 省略可能です。
取得するファイルが持つ属性の値の合計を表す数式または定数を指定します。
省略すると、標準ファイルの属性になります。


attributesの設定値

定数 内容
vbNormal 標準ファイル
vbReadOnly 読み取り専用ファイル
vbHidden 隠しファイル
vbSystem システム ファイル。Macintosh では使用できません。
vbVolume ボリューム ラベル。この値を指定すると、すべての属性は無効になります。Macintosh では使用できません。
vbDirectory フォルダ
vbAlias エイリアス ファイル。Macintosh でのみ使用できます。


複数のファイルを指定するための "*" または "?" のワイルドカードを使用できます。

フォルダ内のすべてのファイルに対して繰り返して処理を実行する場合は、

引数を指定せずにDir を実行してください。


使用例.

変数 = Dir("C:\test.xls")

"C:\test.xls"が存在する場合は"test.xls"が、存在しない場合は""が変数に入ります。

変数 = Dir("C:\*.xls")

Cドライブ直下にある、.xlsファイルの先頭のファイル名が入ります。

変数 = Dir("C:\", vbNormal + vbReadOnly + vbHidden)

Cドライブ直下にある、.標準+読取専用+隠しファイルの先頭のファイル名が入ります。


実践例.

変数 = Dir("C:\*.xls")
Do While 変数 <> ""
  ・・・
  変数 = Dir()
Loop


Cドライブ直下のエクセルファイルを全て取得しています。

注意.

拡張子を、.xlsと指定していますが、この場合は、.xls、.xlsx、.xlsm

これら全てが対象となります。




同じテーマ「ExcelマクロVBA入門」の記事

第80回.ファイル操作T(その他)
第81回.総合練習問題9
第82回.Rangeのプロパティ(Resize)
第83回.Rangeのプロパティ(Offset)
第84回.Rangeのプロパティ(Address)
第85回.結合セルの扱い
第86回.総合練習問題10

新着記事 ・・・新着記事一覧を見る

最後の空白(や指定文字)以降の文字を取り出す|エクセル関数超技(3月26日)
先頭の数値、最後の数値を取り出す|エクセル関数超技(3月26日)
Excelファイルを開かずにシート名をチェック|ExcelマクロVBAサンプル集(3月23日)
数式の参照しているセルを取得する|ExcelマクロVBAサンプル集(3月18日)
CSVの読み込み方法(改の改)|ExcelマクロVBAサンプル集(3月17日)
変数とプロシージャーの命名について|ExcelマクロVBA技術解説(2月12日)
ファイルの一覧取得・削除(File)|Google Apps Script入門(1月24日)
フォルダの一覧取得・作成・削除(Folder)|Google Apps Script入門(1月24日)
フォルダとファイルを扱う(DriveApp)|Google Apps Script入門(1月24日)
スプレッドシートが非常に遅い、高速化するには|Google Apps Script入門(1月17日)

アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|ExcelマクロVBA入門
2.RangeとCellsの使い方|ExcelマクロVBA入門
3.徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)|エクセル関数超技
4.Range以外の指定方法(Cells,Rows,Columns)|ExcelマクロVBA入門
5.セルの参照範囲を可変にする(OFFSET,COUNTA,MATCH)|エクセル関数超技
6.セルのコピー&値の貼り付け(PasteSpecial)|ExcelマクロVBA入門
7.変数とデータ型(Dim)|ExcelマクロVBA入門
8.ひらがな⇔カタカナの変換|エクセル基本操作
9.CSVの読み込み方法|ExcelマクロVBAサンプル集
10.VBAのFindメソッドの使い方には注意が必要です|ExcelマクロVBA技術解説



  • >
  • >
  • >
  • ファイル操作T(Dir)

  • このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。

    ↑ PAGE TOP