【VBA】フォルダ内のサブフォルダとファイルの一覧を取得【FileSystemObjectを使う】

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ธ.ค. 2024

ความคิดเห็น • 8

  • @kimihikonakamura6794
    @kimihikonakamura6794 ปีที่แล้ว +3

    再帰処理と、For Each時の動きについてはこの動画が一番わかりやすかった。

  • @Sbkj12
    @Sbkj12 2 ปีที่แล้ว +1

    納品作業のためにこの動画を探してました
    ありがとうございます

  • @takebom207
    @takebom207 2 ปีที่แล้ว +2

    ほんとに良い動画!

    • @IT-gx8sf
      @IT-gx8sf  2 ปีที่แล้ว +1

      ありがとうございます!
      励みになります(^^)

  • @hirosikim9154
    @hirosikim9154 2 ปีที่แล้ว +1

    何時も素晴らしい動画、助かってます!
    今回のサブフォルダのリスト化のところで、「for each b in fso.getfolder(a).subfolders」がデバックとなり、黄色くなりましたが、どんな理由でしょうか?

    • @IT-gx8sf
      @IT-gx8sf  2 ปีที่แล้ว

      コメントありがとうございます!
      ↓こちらのVBAコードの「For Each B In FSO.GetFolder(A).SubFolders」でエラーが発生したということですね(^^)
      Sub TEST2()
      Dim FSO
      Set FSO = CreateObject("Scripting.FileSystemObject")
      Dim A, B
      A = "C:\Users\User\Desktop\DATA"
      'フォルダ内のサブフォルダをループ
      For Each B In FSO.GetFolder(A).SubFolders
      Debug.Print B 'サブフォルダのパスを取得
      Next
      End Sub
      可能性としてあるのは、次の2点になります。
      ①フォルダパス「A」と同じフォルダが保存されていなくて、フォルダを見つけられていないことによるエラーの可能性があります。
      ②「Set FSO = CreateObject("Scripting.FileSystemObject")」の設定をしていないため、「FSO」の部分でエラーになった可能性があります。
      ■対応策
      ①の場合は、サブフォルダを探したいフォルダの、フォルダパスを、「A」の変数に入力することで解決できるかと思います。
      ②の場合は、「Set FSO = CreateObject("Scripting.FileSystemObject")」の設定をすることで、解決するかと思います。
      参考になればと思います(^^)

  • @majic208
    @majic208 ปีที่แล้ว +1

    こんばんは。これは、NASの共有フォルダでも実行することは、可能でしょうか?

    • @IT-gx8sf
      @IT-gx8sf  ปีที่แล้ว

      コメントありがとうございます!
      FileSystemObjectを使えば、NASの共有フォルダでも実行可能です。