• ベストアンサー

ExcelVBA システム属性のフォルダ

システム属性のフォルダをDirで探し出したいのですが どのように書けばよろしいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • kigoshi
  • ベストアンサー率46% (120/260)
回答No.2

Sub dirSystem() Const myPath As String = "c:\windows\" Dim fileN As String fileN = Dir(myPath, 31) Do Until fileN = "" If GetAttr(myPath & fileN) And vbSystem Then If GetAttr(myPath & fileN) And vbDirectory Then MsgBox (fileN) End If fileN = Dir(, 31) Loop End Sub でいかがでしょうか。

参考URL:
http://officetanaka.net/excel/vba/tips/tips95.htm
jobvba
質問者

お礼

属性を複数指定すればよかったんですね! おかげ様で解決しました 回答ありがとうございました!

その他の回答 (1)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

Dir で取得した Path を GetAttr 関数で System 属性であるか調べれば 良いはずなのですが、上手くいきませんね...   If GetAttr(Path) And vbSystem Then     ~   End If FileSystemObject を使えばもっと簡単なのですけど、これではダメ? Sub SampleProc()   Dim fso As Object ' // FileSystemObject   Dim f  As Object ' // Folder      Set fso = CreateObject("Scripting.FileSystemObject")   For Each f In fso.GetFolder("C:\").SubFolders     If (f.Attributes And vbSystem) Then       Debug.Print f     End If   Next   Set fso = Nothing End Sub

jobvba
質問者

お礼

FileSystemObjectを使う手もあったんですね! 今度試してみます! 回答ありがとうございました!

関連するQ&A

専門家に質問してみよう