[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『フォルダ名一覧をエクセルにしたい』(たすけて)
お世話になっております。
表題の件で質問させていただきます。
フォルダ内のファイルを一覧にする方法はいろいろと調べて出てきましたが、
フォルダそのもの(ex,『問い合わせ』フォルダ→『20250101〇〇について』フォルダ→やり取りしたメールを画像ファイルにして保存しているとき、『20250101〇〇について』の日付フォルダ)を一括で、A列に日付・B列にフォルダ名となるエクセルの一覧表を作成したいです。
会社のPCのため、コマンドを使って何か。
はできなかったのですが。。。
マクロや他に何かを使って、ファイルでなくフォルダ名の一覧を作る方法はないでしょうか?
今のところ1つずつコピペするしかない現状です。。。
よろしくお願いいたします。
< 使用 Excel:Microsoft365、使用 OS:Windows10 >
結果のサンプルを示してください。 A列 B列 1 2 3 4 のように、行と列が明確にわかるものにしてください。 行の最初を半角スペースで始めると、崩れにくいと思います。
階層構造がよくわかりませんので、 具体的な説明を追加してもらい、 それが反映されたサンプルにしてもらうとよいでしょう。
(xyz) 2025/02/20(木) 15:46:55
となるのが理想です。
dosさま
会社のPCのためセキュリティ管理がされているからかコマンドを使っての作業が出来かねます。。
回答ありがとうございます。
(たすけて) 2025/02/20(木) 16:37:25
これをベースにどうにかなりませんか? .jpg(仮)で検索してフォルダ名の重複削除して…とかでいけそうな。 (\) 2025/02/20(木) 16:45:07
たぶんこんな感じです。前提がおかしいところは適宜修正してください。
Sub test() Dim FSO As Object Dim myRoot$ Dim folder1 As Object Dim folder2 As Object Dim p& '書き込み用変数(1行目から書き込む前提) Dim d$ '日付部分(yyyymmddの8桁と固定) Dim title$, s1$, s2$ Const myRoot As String = "D:\問い合わせ" ' ■対象とする親フォルダのパス(適宜修正)
Set FSO = CreateObject("Scripting.FileSystemObject") For Each folder1 In FSO.GetFolder(myRoot).subfolders s1 = folder1.Name For Each folder2 In folder1.subfolders s2 = folder2.Name d = Left(s2, 8) title = Mid(s2, 9) p = p + 1 Cells(p, "A") = s1 Cells(p, "B") = d Cells(p, "C") = title Next Next Set FSO = Nothing End Sub
(xyz) 2025/02/20(木) 17:43:10
>り取りしたメールを画像ファイルにして保存しているとき、
フォルダ内に、何らかのファイルがあること(空フォルダでないこと)が前提ですが 1)Power Queryの「フォルダから」で、ファイル一覧を取得 2)[FolderPath]列で「重複の削除」 3)[FolderPath]列でを「列の分割」:区切り記号とか文字数で 4)不要な列を削除 (マナ) 2025/02/20(木) 22:32:07
E:\問い合わせ 内のフォルダの場合。
データ→データの取得→その他のデータベースから→空のクエリ →詳細エディター→以下を貼り付け
let ソース = Folder.Contents("E:\問い合わせ"), exp = Table.ExpandRecordColumn(ソース, "Attributes", {"Directory"}), fil = Table.SelectRows(exp, each ([Directory] = true)), del = Table.SelectColumns(fil,{"Name", "Content"}), exp2 = Table.ExpandTableColumn(del, "Content", {"Name"}, {"フォルダ"}), spl = Table.SplitColumn(exp2, "フォルダ", Splitter.SplitTextByCharacterTransition( {"0".."9"}, (c) => not List.Contains({"0".."9"}, c)), {"フォルダ.1", "フォルダ.2"}) in spl
→完了→閉じて読み込む (んなっと) 2025/02/21(金) 00:11:13
なるほど。Folder.Filesでなく、Folder.Contentsで取得できるのですね。 (マナ) 2025/02/21(金) 00:42:40
こんなざっくりした相談にもかかわらず親切にご回答いただきありがとうございます!
希望通りの一覧作成があっというまにできました!!!
本当にありがとうございました!
(たすけて) 2025/02/21(金) 09:38:05
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.