- ベストアンサー
【Excel VBA】ネットワーク上のとあるフォルダの削除
OS:WindowsXP Excel:2003 現在、エクセルVBAで以下の処理を動かしています。 ・コンピューターAのフォルダB内の全ファイルを、 サーバーCのフォルダD内にコピー 今後は逆に、以下の処理を追加したいのです。 ・サーバーCのフォルダEを削除 VBAで可能でしょうか? またその場合は、どのようにコーディングすればよろしいでしょうか? よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>一週間以上前のフォルダをフォルダごと削除したいのです。 回答1補足への回答 ye = Year(Date - 7) mo = Month(Date - 7): If mo < 10 Then mo = "0" & mo da = Day(Date - 7): If da < 10 Then da = "0" & da Set myfso = CreateObject("Scripting.FileSystemObject") On Error Resume Next myfso.DeleteFolder "C:\" & ye & mo & da, True On Error GoTo 0 Set myfso = Nothing 上記例ではC:\直下にあるyyyymmdd(形式の7日前)のフォルダを中身に何が入っていようと読み取り専用であろうと削除します。 fsoのフォルダ削除は強力でゴミ箱などには残らずに完全に削除されます。注意してください。 処理違いや補足・修正が欲しい場合言ってください。
その他の回答 (1)
- Gizensha
- ベストアンサー率34% (207/608)
たしかVBAからはファイルシステムオブジェクトが使えたとおもいます。
お礼
お礼が遅くなりまして、すみませんでした。 FSOで解決しました! ありがとうございました。
補足
URL、参考になります。 現在はFSOを使って、とあるフォルダ内の全ファイルをコピーさせています。(フォルダ名はJOB DATEをYYYYMMDD形式) そのままだと、どんどんフォルダができてしまうので、 一週間以上前のフォルダをフォルダごと削除したいのです。 フォルダごと削除するコマンドはないのでしょうか?
お礼
お礼が遅くなり、すみませんでした。 myfso.DeleteFolder "C:\" & ye & mo & da, True この一文を流用し、無事解決しました! たいへん参考になりました。 心よりお礼申し上げます。