質問: excelのvbaでの複数階層からのフォルダ名の取得 excelのvbaでの複数階層からのフォルダ名の取得 下記階層に対して以下の処理をexcelのvbaで行うにはどしたら良いか、 申し訳ありませんが、どうか教えて頂きたく思います。 c:\test1 ├\aaa\ddd │ ├\xxx1\ │ └\yyy2\ │ ├\bbb\ddd │ └\xxx3\ │ │ └\ccc\ddd ├\xxx4\ ├\xxx5\ └\zzz6\ 1 c:\test1を指定する 2 1で指定した中にある各\dddフォルダ内にあるフォルダ名を順に取得する 3 2で取得したフォルダ名をexcelのsheet1のa1から順に書き出す excel a b c d e 1 xxx1 2 yyy2 3 xxx3 4 xxx4 5 xxx5 6 zzz6 7 8 9 sheet1 sheet2 sheet3 勉強不足で申し訳ありません。 どうぞ宜しくお願い致します。
回答: ※サンプルプログラムです。 public 設定セル as range sub フォルダ処理() const 開始フォルダ = "c:\test1" dim objfso as object dim objfolder as object set objfso = createobject("scripting.filesystemobject") set objfolder = objfso.getfolder(開始フォルダ) set 設定セル = range("a1") call 該当フォルダ取得(objfolder) set objfolder = nothing set objfso = nothing end sub sub 該当フォルダ取得(フォルダパス as object) dim objsubfolder as object for each objsubfolder in フォルダパス.subfolders call 該当フォルダ取得(objsubfolder) next if ucase(フォルダパス.parentfolder.name) = "ddd" then 設定セル = フォルダパス.name set 設定セル = 設定セル.offset(1) end if set objsubfolder = nothing end sub