• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL フォルダだけを検索したい)

EXCEL フォルダだけを検索する方法 | ハッシュタグ

このQ&Aのポイント
  • Excel 2003を使用していますが、フォルダだけを検索する方法がわかりません。開いているファイルと同じフォルダ内に「テストフォルダ」があるかどうかを調べ、存在した場合に削除したいのですが、現在の書き方ではフォルダだけでなくファイルも検索してしまいます。
  • フォルダだけを検索する方法を教えてください。現在使用している方法は、フォルダだけでなくファイルも検索してしまうため、正確な結果を得ることができません。
  • Excelでのフォルダ検索方法が分かりません。フォルダだけを検索する方法を教えてください。

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

  • ベストアンサー
  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.2

参考にしてください。 Sub test()   MyPath = ActiveWorkbook.Path & "\"       'パスを設定します。   f_name = Dir(MyPath, vbDirectory)        '最初のフォルダ名を返します。   Do While f_name <> ""     If f_name <> "." And f_name <> ".." Then  '現在のフォルダと親フォルダは無視します。       If (GetAttr(MyPath & f_name) And vbDirectory) = vbDirectory Then         If f_name = "テストフォルダ" Then           RmDir "テストフォルダ"         End If       End If     End If     f_name = Dir                '次のフォルダ名を返します。   Loop End Sub

terakura
質問者

お礼

ありがとうございました。できました! f_name = Dir(MyPath, vbDirectory) と指定するだけではだめなのですね。それがどうしてなのかいまいちスッキリしないのですが、困っていたので本当に助かりました。 下のようにRmDir を書き換えて Exit Do を加えて完成です! 嬉しいです。ありがとうございました! If f_name = "テストフォルダ" Then  RmDir MyPath & f_name  Exit Do End If

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

削除したいフォルダが決まっているのなら、Do~Loopする必要はないのでは? フォルダの有無を調べて、あれば削除するだけかと。 my_path = ActiveWorkbook.Path & "\テストフォルダ" として 変数f_nameの値で判断・分岐する。

terakura
質問者

お礼

複数のフォルダの中から該当するフォルダの有無を調べるのに、LOOPする方法しか知りませんでした。またの機会にご教授いただけると嬉しいです。 回答していただき、ありがとうございました。

関連するQ&A