• ベストアンサー

EXCELを使ったファイル削除

あるフォルダの中に0~1000のように名前のついたファイル(拡張子は全て同じ)があります。 そのうちEXCELファイル1シートのAの列に並んだ数値のファイルのみをフォルダから削除をしたいです。 何かソフトを使ったりして出来るでしょうか? フォルダ内 (1.txt,2.txt,3.txt・・・) EXCELファイル A B C D・・・ 1 2 2 5 3 10 4 999 上の例だとフォルダ内の2.txt,5.txt,10.txt,999.txtを削除する。

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

  • ベストアンサー
  • sero
  • ベストアンサー率47% (916/1944)
回答No.1

B1セルに ="DEL "&A1&".txt" として必要なだけ数式をコピー。 別シートのA列に数式を「形式を選択して貼り付け」の「値」でコピー。 そのシートを削除したいファイルのあるフォルダにTXT形式で保存。 エクスプローラーで保存したTXTファイルの拡張子を「.txt」から 「.bat」に変更。 あとはバッチファイルを実行すればOK。 こんなんではだめでしょうか?

noname#16258
質問者

お礼

できました!!!

その他の回答 (2)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.3

Sub sample() Dim FnameAry Dim Name As String Dim Path As String Dim i As Integer 'エラーを無視する(削除ファイルが無かった場合の対策) On Error Resume Next '削除するファイルがある場所のパス名 Path = "C:\WUTemp\" 'ファイル名が入っている範囲を配列に読み込む FnameAry = Range("A1:A100") For i = 1 To UBound(FnameAry) '配列からデータを取り出す Name = FnameAry(i, 1) '内容が空欄以外の場合、数値かどうかチェック If IsNumeric(Name) And Name <> "" Then Name = Name & ".txt" 'ファイル削除 Kill Path & Name End If Next End Sub で、どうでしょうか?

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.2

1.エクセルファイルのA列の左に、新しい列を1列挿入して下さい(A列にある数値すべてをB列に移動、でも構いません) 2.A列の1行目に文字列で"DEL"と入力します。それを「セルのコピー」で、数値が入っているすべての行(下方向)にコピーします。 3.C列の1行目に文字列で".txt"と入力します。それを「セルのコピー」で、数値が入っているすべての行(下方向)にコピーします。 以下のようになる筈です。   A  B   C  D・・・ 1 DEL   2 .txt 2 DEL   5 .txt 3 DEL   10 .txt 4 DEL  999 .txt 4.シートを「名前を付けて保存」します。保存する際に「ファイルの種類」を「テキスト(スペース区切り)(*.prn)」にして、保存場所を削除したいファイルがあるフォルダにして「book1.prn」で保存します。 5.EXCELを終了します。 6.エクスプローラー(IEではない)で削除したいファイルがあるフォルダを見て「book1.prn」の名前を「book1.bat」に変更します(エクスプローラーで拡張子が表示される設定にしておいてから変更して下さい) 7.「book1.bat」をダブルクリックします。すると、自動的にMS-DOSプロンプトが開いてファイルが削除されます。 8.終ったら「book1.bat」と「book1.pif」を削除します(「book1.pif」は「book1.bat」をダブルクリックして実行すると自動的に作成されるファイルです)

noname#16258
質問者

お礼

できました!!! ありがとうございました。

関連するQ&A

専門家に質問してみよう