VBAでファイルを削除する
記事「ワイルドカードで検索してファイル名を取得 」
のなかのコードを改造してコピーしたファイルを削除します。
あるファイルに大きな変更を加える前とかに
変更前に戻れるように複製を作っておきます。
このようなことが何回かあると複製がたくさんになります。
上のような場合、ファイル単位のバックアップなんかは
そのファイルの複製を作って済ませたりします。
フォルダエクスプローラーで
あるファイルを選択して同じフォルダにコピーすると
「コピー 」が元のファイル名の前に足したファイル名になります。
2つ目、3つ目のファイルのコピーは、
「コピー (2)」「コピー (3)」と数字が付け足されます。
これを利用してコピーしたファイルを削除します。
具体的には、MyPathで指定したフォルダ内を
ワイルドカードを使って「コピー*」で検索して
検索条件を満たしたファイルを削除します。
削除するにはKillステートメントを使います。
記事「ワイルドカードで検索してファイル名を取得 」の中のコードでは
検索条件を満たしたファイルの名前をシートに書き出しました。
ここでは、この箇所を
Cells(i + 1, 1) = .FoundFiles(i)から
Kill .FoundFiles(i)
に替えます。
枠内のコードは、基本的に
Excelの標準モジュールにコピペして
そのまま実行できるようになっています。
Killステートメントは、
シートなどの削除と違って警告が出ません。
大事なファイルを削除しないよう気をつけてください。
下のコードでは念の為
Killステートメントの前に
Stopをつけてあります。
Sub macro100305a() MyPath = "C:\Documents and Settings\" & _ |
くれぐれも
大事なファイルを削除しないよう気をつけてください。
| 固定リンク
この記事へのコメントは終了しました。

コメント