Dir フォルダ内のファイルを取得するExcel関数
Dir関数とは、指定したフォルダ内のファイルを検索する関数です。
拡張子を指定してのファイル検索や、フォルダ検索などが可能です。
フォルダ内のすべてのファイルを検索するには、戻り値が「"" 長さ0の文字列」になるまで、Dir関数を繰り返します。
構文: Dir(検索するファイルやフォルダ名 , 取得したいファイルの属性)
検索するファイルやフォルダ名 - (必須) 取得するフォルダやファイル名、拡張子などを指定します。ワイルドカードが使用ができます。例えばCドライブのExcelファイルを検索するには、「C:\*.xlsx」と指定します。
取得したいファイルの属性 - (省略可)ファイルの属性を下記の定数か数値で指定します。複数の属性の場合、各値を合計し指定します。
定数 |
数値 |
属性 |
vbNormal |
0 |
標準ファイル |
vbHidden |
2 |
隠しファイル |
vbSystem |
4 |
システムファイル |
vbVolume |
8 |
ボリュームラベル |
vbDirectory |
16 |
ディレクトリ(フォルダ) |
Homeに戻る >
Excel 関数のTipsへ
Excel実行画面
「ファイル一覧の作成」コマンドボタンをクリックするとイベントが開始します。
フォルダ選択ダイアログボックスが開くので検索したいフォルダを選択します。
検索したいフォルダを選択すると、フォルダ内のファイル一覧がB7セルから下に表示されます。
Excel VBAコード
'フォルダ選択ダイアログExcel標準モジュールコード (初期フォルダを指定する方法)
Public Function SelectFolder_FileDialog(iniDir As String) As String
Dim s1 As String
'フォルダ選択ダイアログ
With Application.FileDialog(msoFileDialogFolderPicker)
'タイトル
.Title = "フォルダを選択してください"
'初期フォルダ
.InitialFileName = iniDir
If .Show = -1 Then
'選択された
s1 = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)
If Right$(s1, 1) <> "\" Then s1 = s1 + "\"
SelectFolder_FileDialog = s1
Else
SelectFolder_FileDialog = ""
End If
End With
End Function
Private Sub MyGetDir(sdir As String)
Dim sfina As String
Dim lrow As Long
lrow = 7
sfina = Dir(sdir, vbNormal)
Do While sfina <> ""
Cells(lrow, 2) = sfina
lrow = lrow + 1
sfina = Dir
Loop
End Sub
Private Sub CommandButton1_Click()
Dim sdir As String
sdir = SelectFolder_FileDialog("c:\")
If sdir <> "" Then
MyGetDir sdir
End If
End Sub
[関連リンク]
フォルダー選択ダイアログ
フォルダ内のファイルリストを作成
サブフォルダも含めたフォルダ内のファイルリストを作成する
Homeに戻る >
Excel 関数のTipsへ
■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します
Copyright (c) Excel-Excel ! All rights reserved