- ベストアンサー
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を削除する。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
B1セルに ="DEL "&A1&".txt" として必要なだけ数式をコピー。 別シートのA列に数式を「形式を選択して貼り付け」の「値」でコピー。 そのシートを削除したいファイルのあるフォルダにTXT形式で保存。 エクスプローラーで保存したTXTファイルの拡張子を「.txt」から 「.bat」に変更。 あとはバッチファイルを実行すればOK。 こんなんではだめでしょうか?
その他の回答 (2)
- hana-hana3
- ベストアンサー率31% (4940/15541)
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)
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」をダブルクリックして実行すると自動的に作成されるファイルです)
お礼
できました!!! ありがとうございました。
お礼
できました!!!