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

ご存知の方教えてください。

以下ようなフォルダ階層があります。

----------------------- rootフォルダ

----------------- 第一階層フォルダ
│ │
│ --------------- 第二階層フォルダ
│ │
│ --------------- 第二階層フォルダ
│ │
│ --------------- 第二階層フォルダ

----------------- 第一階層フォルダ
│ │
│ --------------- 第二階層フォルダ
│ │
│ --------------- 第二階層フォルダ
│ │
│ --------------- 第二階層フォルダ
│ │
│ --------------- 第二階層フォルダ



やりたい事ですが、エクセルのマクロで
第一階層と第二階層のフォルダ数を取得する。
(階層のフォルダ数は取得する毎変わり、固定されていません。)


第一階層のフォルダにはファイルはないです。
第二階層のフォルダにはファイルが存在します。
rootフォルダにダミーファイルを設置しそこから
FileSystemObjectでフォルダパスを取得する事はできたました。
パスが分かればフォルダ数が分かるかと思い色々と調べていましたが
フォルダ数を取得する事ができませんでした。
初心者なりに書籍、ネットで調べてみたのですがどうしても
分かりませんでした。
どのようにしたらいいか教えていただけないでしょうか。

よろしくお願いします。

OS : XP
EXCEL : 2003

A 回答 (1件)

rootのFolderオブジェクトを取得して SubFoldersプロパティで第一階層のフォルダーのコレクションが取得できますから


これのCountプロパティを参照すれば数は取得できます

各第一階層のフォルダーオブジェクトの SubFoldersを取得してCountプロパティを参照すれば フォルダー毎の数の取得も可能ですよ

dim objRoot, objSub1

Set objRoot = FSO.GetFolder("rootのパス")
' 第一階層のフォルダー数
debug.print objRoot.subFilders.Count
for each objSub1 in objRoot.subFolders
' 第二階層のフォルダー数
debug.print objSub1.Name, objSub.subFolders.Count
Next

といった感じです
    • good
    • 0
この回答へのお礼

redfox63様
ありがとうございます。
無事取得する事ができました。
ほんとうにありがとうございました。

一部修正した所もありますので同じ様な疑問がある方用に
修正した所を記述しておきます。

>' 第一階層のフォルダー数
>debug.print objRoot.subFilders.Count
のobjRoot.subFilders.Count を objRoot.subFolders.Countに修正

>' 第二階層のフォルダー数
>debug.print objSub1.Name, objSub.subFolders.Count
のobjSub.subFolders.Count を objSub1.subFolders.Countに修正

お礼日時:2008/06/18 18:31

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