フォルダ内のファイル名を一覧で取得したい…
ファイルの目次をエクセルで作って効率化したい!
フォルダの中身が増えると、どこに何があったかわからなくなることがよくあります。そんな時、VBAでファイルリストを作成すると、とても効率的に作業を行えるようになります。
今回紹介するVBAコードをコピペするだけで、指定フォルダのファイル名をエクセルに一覧化できます。さらに、一覧はリンク付きなので、クリックするだけでファイルを開くことも可能です。
「VBAは初めてでよく分からない…」という方でも、そのまま使えるエクセルファイルも用意しています。まずはダウンロードして試してみてください。
また、このVBAと添付メールの自動作成VBAを組み合わせることで、さらに効率UPが可能です。併せてぜひこちらも参考にしてみてください。
【コピペでOK】フォルダ内のファイル名を一覧取得するVBA
以下のVBAコードを使えば、指定フォルダ内のファイル名をエクセルに一覧表示できます。さらに、ファイル名にはリンクが自動的に設定されるので、クリックして開くことも可能です。
Sub FileNames()
Dim folderPath As String, fileName As String
Dim ws As Worksheet, fileCell As Range
Set ws = ThisWorkbook.Sheets(ActiveSheet.Name)
ws.Cells.ClearContents
ws.Range("A1").Select
ws.Range("A2") = "対象フォルダ"
ws.Range("A3") = "ファイル名"
' フォルダ選択ダイアログ
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = -1 Then
folderPath = .SelectedItems(1)
Else
Exit Sub
End If
End With
ws.Range("B2") = folderPath
' ファイル名取得
Set fileCell = ws.Range("A4")
fileName = Dir(folderPath & "\*.*")
Do While fileName <> ""
ws.Hyperlinks.Add Anchor:=fileCell, Address:=folderPath & "\" & fileName, TextToDisplay:=fileName
Set fileCell = fileCell.Offset(1, 0)
fileName = Dir
Loop
MsgBox "完了しました"
End Sub
エクセルファイルのダウンロード
VBAが分からないという方向けに、VBAが入ったエクセルファイルも用意しました。以下のリンクからダウンロードしてすぐに使えます。

※ウイルスではもちろんありませんが、マクロ付きのため、自己責任でお願いします。
実行と結果の紹介
このマクロを実行すると、ファイル選択画面が表示されます。ここで、一覧を取得したいフォルダを選択します。

フォルダを選択すると、フォルダの中のファイルが一覧表示されます。ファイル名はリンク付きになっているので、エクセルから選択することもできます。

VBAの埋め込み、ボタンの挿入について
VBAの埋め込み
コピペコードを使用するには、エクセルの「開発」タブからVBAを貼り付ける必要があります。「開発」タブを表示させる環境設定、VBAを張り付けて実行させる方法については、以下の記事で詳しく解説しています。
ボタンの挿入
ボタンをつけることで、クリックだけでマクロを実行できるようになります。
このブログでは、初期化ボタンの紹介として、ボタンについても解説しているので、参考にしてみてください。
さいごに
今回紹介したVBAで、フォルダ内のファイル名を簡単に一覧化できます。フォルダの目次としての活用や、ログ管理、ほかのVBAとの連携など、活用の幅がとても広いVBAです。ぜひこのVBAを活用して、効率化を行ってみてください。
このブログでは、ChatGPTとVBAの組み合わせによる効率化や、生成AI関連の情報も紹介しています。そちらもぜひ参考にしてみてください。
コメント