アプリ版:「スタンプのみでお礼する」機能のリリースについて

取得したいのです。

あるフォルダ内にマクロのファイルと、複数のサブフォルダ及びその中の複数ファイルがあり
添付画像の通り、サブフォルダ名とファイル名、拡張子を取得したいのです。

どのようにすれば良いでしょうか、、ご教示下さい。

「エクセル2007VBAでフォルダ名とファ」の質問画像

A 回答 (1件)

sub macro1()


 dim FSO As Object
 dim myFolder
 dim myFile
 dim n As Long

 set FSO = createobject("Scripting.FileSystemObject")
 worksheets.add
 range("A1:C1") = array("Folder", "File", "Extension")
 n = 2

 for each myfolder In FSO.getfolder(thisworkbook.path).subfolders
  cells(n, "A") = myfolder.name
  if myfolder.files.count > 1 then
   for each myfile in myfolder.files
    cells(n, "B") = split(myfile.name, ".")(0)
    cells(n, "C") = split(myfile.name, ".")(1)
    n = n + 1
   next
  else
   n = n + 1
  end if
 next
 set FSO = nothing
end sub


FileSystemObjectとDirをネットで検索して、どちらも使えるように練習してみて下さい。

この回答への補足

お礼が遅れてすみません。

サブフォルダにファイルが1個しかないと、ファイル名を表示しなかったので下記の通り“=”を入れました。
if myfolder.files.count >= 1 then

また、ファイル名に“.”が含まれると誤表示されるので、BC列のコードは書き換えました。

これからも練習に励みたいと思います。(すぐ質問しちゃいますけど。。。)
ありがとうございました^^

補足日時:2012/05/14 16:59
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!