プロが教えるわが家の防犯対策術!

いつも大変お世話になっております。
サブフォルダの名前を取得するには
どうしたらよろしいでしょうか
下記のコードをネットで検索しました。
Excelのシートに書き込みができませんでした。
わかる方おしえてくれませんでしょうか

Dim i As Long, FSO As Object
Const Path As String = "C:\Users\***\"
Set FSO = CreateObject("Scripting.FileSystemObject")

For i = 0 To FSO.GetFolder(Path).subFolders.Count - 1
Cells(i + 1, 1) = FSO.GetsubFolder(Path).subFolders(i).Name
Next i

A 回答 (1件)

こんにちは



Folders.Item(n)で取得できるかと思ったらだめなようですね。
MSDNの例でも、For Eachで回す方法しか見当たらないようです。
https://docs.microsoft.com/ja-jp/office/vba/lang …

…ですので、こんな感じではいかが?

Dim i As Long, f As Object
Const Path As String = "C:\Users\***\"
i = 1
For Each f In CreateObject("Scripting.FileSystemObject").GetFolder(Path).subFolders
 Cells(i, 1).Value = f.Name
 i = i + 1
Next f


※ 試したところ、Folders.Itme()でサブフォルダを取得できますが、フォルダ名を引数にして呼び出さなければならないので、名称が不明の状態だと、一度はFor Eachなどで回しておく必要がありそうですね。
    • good
    • 0
この回答へのお礼

いつも有難うございます。
うまくできました。
なかなか大変です。
できるようになったかとおもうと、
また、こうしたいとかいろいろです。

お礼日時:2019/12/10 15:27

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