• ベストアンサー

【Excel VBA】ネットワーク上のとあるフォルダの削除

OS:WindowsXP Excel:2003 現在、エクセルVBAで以下の処理を動かしています。 ・コンピューターAのフォルダB内の全ファイルを、  サーバーCのフォルダD内にコピー 今後は逆に、以下の処理を追加したいのです。 ・サーバーCのフォルダEを削除 VBAで可能でしょうか? またその場合は、どのようにコーディングすればよろしいでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • argument
  • ベストアンサー率63% (21/33)
回答No.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のフォルダ削除は強力でゴミ箱などには残らずに完全に削除されます。注意してください。 処理違いや補足・修正が欲しい場合言ってください。

motsu2006
質問者

お礼

お礼が遅くなり、すみませんでした。 myfso.DeleteFolder "C:\" & ye & mo & da, True この一文を流用し、無事解決しました! たいへん参考になりました。 心よりお礼申し上げます。

その他の回答 (1)

  • Gizensha
  • ベストアンサー率34% (207/608)
回答No.1

たしかVBAからはファイルシステムオブジェクトが使えたとおもいます。

参考URL:
http://officetanaka.net/excel/vba/filesystemobject/file.htm#Delete
motsu2006
質問者

お礼

お礼が遅くなりまして、すみませんでした。 FSOで解決しました! ありがとうございました。

motsu2006
質問者

補足

URL、参考になります。 現在はFSOを使って、とあるフォルダ内の全ファイルをコピーさせています。(フォルダ名はJOB DATEをYYYYMMDD形式) そのままだと、どんどんフォルダができてしまうので、 一週間以上前のフォルダをフォルダごと削除したいのです。 フォルダごと削除するコマンドはないのでしょうか?

関連するQ&A

  • 【Excel VBA】ネットワーク上の共有フォルダにあるExcelを開く

    Windows XP Office2003 エクセルVBAにて、ネットワーク上にある共有フォルダ内のエクセルブックを開くコーディングを教えていただけますでしょうか? 開きたいブック:\\共有サーバー\共有\TEST.xls よろしくお願いします。

  • VBAフォルダやファイル操作について

    VBA初めての初心者です。 VBAのフォルダとファイル操作関連の質問です。(初心者です) 【やりたいこと】 画面から、 入力フォルダのパスを入力する・・・(1) 出力フォルダのパスとファイル名を入力する・・・(2) ・処理概要 入力されたフォルダ内のファイルを順次読み込み、 リネームして、出力フォルダに追加出力する。 (1)フォルダ内全ファイルを出力して終了する。 追加処理として、 (1)を複数入力できるようにしたいと思います。 ・詳細処理 出力フォルダのファイルネームは、連番であり、 画面での入力(2)ファイル名から連番したファイル名(+1していく) 出力するデータ内容は(1)のコピーのままでよい。 入力されたフォルダ内の全てのファイルを実行して終了する。 このようなプログラムなのですが、 初心者で、 わかりません。 思うようにコーディングしても 動きません???? どのように コーディングすればいいですか?

  • EXCEL VBAフォルダ配下のファイル削除したい

    お世話になります。 VBAを使って特定フォルダ(C/TEST)配下のファイルを全て一括削除したいのです。 :特定フォルダ=C/TEST やりたいこと EXCELシートに[削除]というボタンを配置してクリックしたらC/TEST配下のファイルを全て 削除するロジックをどなたかご教授いただけますでしょうか? C/TEST配下にファイルがない場合は[削除対象ファイルは存在しません]というメッセージを出して処理を終えたいです。 よろしくお願い致します。 EXCEL2013

  • エクセルのVBAを使ってフォルダを削除したい

    エクセルのVBAを使って、フォルダを削除したいのです。 たとえば、Dドライブにある、TESTというフォルダ配下のすべての ファイルおよびフォルダを削除したいのです。 有識者の方々、是非おしえてください。 また、それに伴う参照等の設定などがありましたら、付け加えて ご回答ください。 宜しくお願い致します。

  • 各フォルダの削除

    以前から気になっていたこと。 現状: 当方、WinXP SP2です。 さて、僕のC:\Program Filesには 1.「MSN gaming zone」 2.「Movie maker」 3.「Microsoft FrontPage」 4.「Netmeeting」 5.「outlook express」 というフォルダが存在します。 1. 「Windowsコンポネートの追加と削除」 →実験的にWindows Messenger入れたことはあるが削除済み →MSN Messengerも削除済み。少なくとも「プログラムの追加と削除」にはない。 ※手動でmessengerフォルダを削除した後、 「Windowsコンポネートの追加と削除」からチェックを外した。 今さっき。実験的に入れていたので。 手動で削除しようとしても 「他の人または他のプログラムが利用している」 ログオンしているのは基本的に僕一人。 2. 確か「Windows Update(v4)」から入れたものだったと思う。 こちらも同様のエラーがでて削除できず。 3. 「Windowsコンポネートの追加と削除」 →IIS→「FrontPage Server Extensions」のチェックは外れている。さっき外した。 ・・・同じメッセージで削除できず。 4. conferenceなんてやらないから いらないのだが・・・ 以下同文 5. 「Windowsコンポネートの追加と削除」で Outlook Expressのチェックは外れている 以下同文 --------------------------------- セーフモードからの削除は可能かもしれないが 最近、何かセーフモードの終了処理が いつまでたっても終わらないのであまり起動したくは無い(^^;;; (通常起動の終了はさほど問題なし) ----------------------------------- いったい何が利用しているのか? 削除の手順を知りたい。 (もし必須のコンポーネントであるならその理由を教えてほしい) なお、いづれも半透明で「読み取り専用」にチェックが入っていたが 外して「適用」を押しても変わらず

  • フォルダーの削除ができません

    VBA上で写真ファイルをKILLで削除したあとRmDirでフォルダが削除できません。そのフォルダの中は写真ファイルは無くなっているのですが”空”ではなくて80KBのサイズが示されています。処理の仕方を教えて下さい。

  • フォルダが削除できません

    WindowsXPのSP3を使用しています。 Windowsのアップデートに伴い、EドライブのHDDに「amd64」と「i386」というフォルダの入った「cf8db28c049a632b40561685b778faf5」という意味不明なフォルダが出来てしまいました。 削除しようと思い、自分でGoogleで調べたところコマンドプロンプトでやれそうだったので、rd /s ""\\?\E:\cf8db28c049a632b40561685b778faf5"" というコマンドを実行したところ「アクセスが拒否されました」と出てしまいました。 このEドライブの「cf8db28c049a632b40561685b778faf5」フォルダを強制的に削除する方法は無いでしょうか?

  • Excel VBAの機能を別ブックに複写

     こんにちは。 1つのブックにボタンを追加し、VBAをコーディングし機能を 持たせました。 このボタン+VBAの機能を他の100個のブックにコピーしていきたいのですが 何か良い方法はありませんか? EXCELは2007です。 よろしくお願いします。

  • ExcelのVBAでの複数階層からのフォルダ名の取得

    ExcelのVBAでの複数階層からのフォルダ名の取得 下記階層に対して以下の処理をExcelのVBAで行うにはどしたら良いか、 申し訳ありませんが、どうか教えて頂きたく思います。 C:\test1   ├\aaa\ddd   │   ├\xxx1\   │   └\yyy2\   │   ├\bbb\ddd   │   └\xxx3\   │   │   └\ccc\ddd       ├\xxx4\       ├\xxx5\       └\zzz6\ 1 C:\test1を指定する 2 1で指定した中にある各\dddフォルダ内にあるフォルダ名を順に取得する 3 2で取得したフォルダ名をExcelのSheet1のA1から順に書き出す Excel   A    B    C    D    E 1 xxx1 2 yyy2 3 xxx3 4 xxx4 5 xxx5 6 zzz6 7 8 9  Sheet1 Sheet2 Sheet3 勉強不足で申し訳ありません。 どうぞ宜しくお願い致します。

  • エクセルから指定フォルダーのファイルを削除?

    またまた お願いします。 エクセルで作成したシートを指定のフォルダー内にCSVで保存することが できましたが、逆にそれを削除するにはマクロやVBAでどう記述すればよいのでしょうか? エクセルヘルプみてもわかりませんでした。 お願いします。

専門家に質問してみよう