フォルダの中のファイル名をエクセルに出力したいときがあります。
しかしファイル数が多い場合、手作業でコピペしていると多くの時間が必要になります。
そこで、マクロを使ってボタン一つで「フォルダの中のファイル名をエクセルに出力する」方法を紹介します。
実際にどのようなことができるかは以下の動画で解説をしています。
Contents
マクロの使い方を動画で解説
マクロの使い方を動画で解説しています。
マクロのプログラムは以下を貼り付けてください。
プログラムマクロVBAでフォルダ内のファイル名をエクセルに一覧にする
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
Option Explicit Sub GetfileNames() Dim Path As String Dim ws As Worksheet Set ws = Worksheets("ファイル名取得") Path = ws.Range("B1").Value Dim CountRow As Long Dim FSO As Scripting.FileSystemObject Dim BaseFolder As Scripting.Folder Dim MyFolders As Scripting.Folders Dim MyFolder As Scripting.Folderg Dim MyFiles As Scripting.Files Dim MyFile As Scripting.File Set FSO = New Scripting.FileSystemObject Set BaseFolder = FSO.GetFolder(Path) Set MyFiles = BaseFolder.Files For Each MyFile In MyFiles ws.Range("A4").Offset(CountRow, 0).Value = FSO.GetExtensionName(MyFile) ws.Range("B4").Offset(CountRow, 0).Value = MyFile.Name CountRow = CountRow + 1 Next Set MyFolders = BaseFolder.SubFolders For Each MyFolder In MyFolders ws.Range("A4").Offset(CountRow, 0).Value = "フォルダ" ws.Range("B4").Offset(CountRow, 0).Value = MyFolder.Name CountRow = CountRow + 1 Next Set MyFile = Nothing Set MyFiles = Nothing Set MyFolder = Nothing Set MyFolders = Nothing Set BaseFolder = Nothing Set FSO = Nothing End Sub |
このマクロを使うときの注意点
「Microsoft Scripting Runtime」にチェックを入れるのを忘れないようにすることです。チェックを入れる方法は以下です。
[1] エクセルを開いて、[Alt] + [F11] でVBAを開きます。
[2] 「ツール」をクリック
[3] 「参照設定」をクリック
[3] 初期設定の場合は、「Microsoft Scripting Runtime」にチェックが入っていない
[4] 「Microsoft Scripting Runtime」にチェックを入れる
他にもマクロを使えば、大量フォルダを自動作成できます
逆に、エクセルのリストからフォルダを自動作成したいときがあります。
実際、大量のフォルダを作成するとき、手作業で作成するのはとても面倒です。
そこで、マクロを使ってボタン一つで「エクセルのリストからフォルダを自動作成する」方法を紹介します。
実際にどのようなことができるかは以下の動画で解説をしています。
興味がある人はぜひ動画をご覧ください。