- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL フォルダだけを検索したい)
EXCEL フォルダだけを検索する方法 | ハッシュタグ
このQ&Aのポイント
- Excel 2003を使用していますが、フォルダだけを検索する方法がわかりません。開いているファイルと同じフォルダ内に「テストフォルダ」があるかどうかを調べ、存在した場合に削除したいのですが、現在の書き方ではフォルダだけでなくファイルも検索してしまいます。
- フォルダだけを検索する方法を教えてください。現在使用している方法は、フォルダだけでなくファイルも検索してしまうため、正確な結果を得ることができません。
- Excelでのフォルダ検索方法が分かりません。フォルダだけを検索する方法を教えてください。
- みんなの回答 (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
その他の回答 (1)
- n-jun
- ベストアンサー率33% (959/2873)
回答No.1
削除したいフォルダが決まっているのなら、Do~Loopする必要はないのでは? フォルダの有無を調べて、あれば削除するだけかと。 my_path = ActiveWorkbook.Path & "\テストフォルダ" として 変数f_nameの値で判断・分岐する。
質問者
お礼
複数のフォルダの中から該当するフォルダの有無を調べるのに、LOOPする方法しか知りませんでした。またの機会にご教授いただけると嬉しいです。 回答していただき、ありがとうございました。
お礼
ありがとうございました。できました! f_name = Dir(MyPath, vbDirectory) と指定するだけではだめなのですね。それがどうしてなのかいまいちスッキリしないのですが、困っていたので本当に助かりました。 下のようにRmDir を書き換えて Exit Do を加えて完成です! 嬉しいです。ありがとうございました! If f_name = "テストフォルダ" Then RmDir MyPath & f_name Exit Do End If