プロが教えるわが家の防犯対策術!

Excel2003を使用しています。

ファイルを保存する際に、ファイル名の後に日付を入れて保存したく、下記のようにコードを書きました。
それで、保存するときに、古いファイルは削除するようにしたいのですが、どのようにコードを追加すればいいでしょうか?
Killを使用するのかな~?とは思っているのですが。。。

よろしくお願いします。
--------------------------------------------------
Sub 保存()
  ActiveWorkbook.SaveAs _
   "C:\○○\××" & Format(Date, "yyyymmdd") & ".xls"
End Sub

A 回答 (4件)

こんな感じでしょうか?



Sub test()
tbn = ThisWorkbook.FullName
ActiveWorkbook.SaveAs Filename:="C:\Documents and Settings\○○○\××\" & Format(Date, "yyyymmdd") & ".xls"
Kill tbn
End Sub
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

教えていただいたコードを参考にさせていただき、さらに条件(日付が同じ場合は削除しない)を
加えることで、希望通りのことができました。

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

お礼日時:2008/07/18 10:21

>古いファイルは削除するよ・・・


プログラムを組もうとする人が、「古い」というようなあいまいな言い方をしていてどうする。
上書き保存してはどうですか
1度だけ前のファイルは保存してある場合
何かの事情でXXyyyymmddの名前のファイルが溜まっていて
それらを一掃する
などごれですか。基本的には限定したフォルダなりの中のエクセルブックを全部調べて(注)、チェックし、条件に外れるものは削除なんでしょう。
(注)WEBでコード例アリ。
「フォルダ Dir」で照会
http://www.accessclub.jp/samplefile/samplefile_2 … 他多数
「VBSCRIPT フォルダ」で照会
http://www.atmarkit.co.jp/fwin2k/operation/wsh11 …
他多数
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。

“古い”という表現がわかりづらくしたようで、申し訳ありません。
ANo.1の方のお礼欄にも書かせていただきましたが、マクロを実行するとファイルが増えていくので、更新前のファイルは、その都度削除したかったのです。

おかげさまで、ANo.3の方からのご回答を参考にさせていただき、希望通りのことができました。
お手数をおかけしました。

お礼日時:2008/07/18 10:27

消す前に、ActiveWorkbook.Nameで今のファイル名を取得しておいては


いかがでしょうか?

んで、今のファイルと新しく保存するファイルが違う場合(別の日付で更新した場合)のみ、過去のファイルを削除。

Sub 保存()
Dim myfile As String
Dim newname As String
Dim pass As String

myfile = ActiveWorkbook.Name
newname = Format(Date, "yyyymmdd") & ".xls"
pass = "C:\○○\××"

ActiveWorkbook.SaveAs _
pass & newname

If newname <> mayfile Then
Kill pass & myfile
End If

End Sub
    • good
    • 1
この回答へのお礼

回答ありがとうございます。
記載していただいたコードを参考にさせていただき、希望通りのことができました。
ありがとうございました。

お礼日時:2008/07/18 10:18

”古い”がどの位を差すのかわからないですが、


過去に回答した事のある
http://okwave.jp/qa3659813.html
とかは、参考になりませんか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

“古い”という表現がわかりづらかったようで、申し訳ありません。
ファイルを更新したら、更新前のファイルを削除したかったのです。

質問文に記載しているコードだけでは、マクロを実行する度に、ファイルが増えるので、“古い”ファイルは削除するようにと書いてしまいました…。

教えていただいたURL、参考になりました。
ありがとうございました。

お礼日時:2008/07/18 10:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています