アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっております。
やりたいこと
削除フォルダがあります。
その中には下記のコードで作成された
Excelファイルがあります。
Dim str As String

str = "\Desktop\削除フォルダ\" & Format(Now(), "yy年mm月dd日")'個人情報があるため前の部分省略しています。

Sheets(1).Copy
ActiveSheet.SaveAs Filename:=str, FileFormat:=xlWorkbookDefault

Sheets(1).Copyをコピーして
削除フォルダに保存しています。

ここで今日の日付より古いデータを削除してから、
上のコードを削除することは可能でしょうか

「日付の古いデータを削除」の質問画像

質問者からの補足コメント

  • xlsxです

    No.1の回答に寄せられた補足コメントです。 補足日時:2021/04/25 19:14
  • 申し訳ありませんございません。
    ここで今日の日付より古いデータを削除してから、
    上のコードを削除することは可能でしょうか
    ではなく
    上のコードを実行することは可能でしょうか
    でした。

    No.2の回答に寄せられた補足コメントです。 補足日時:2021/04/25 19:33
  • はい、ご返事遅れて申し訳ありません
    よろしくお願いいたします。

    No.3の回答に寄せられた補足コメントです。 補足日時:2021/04/25 20:52

A 回答 (4件)

以下のようにしてください。


Const folderはあなたから提示されたものをそのまま書いています。
実際のフォルダを書いてください。


Public Sub ファイル削除()
Const folder As String = "\Desktop\削除フォルダ\"
Dim bookname As String
Dim str As String
'全てのyy年mm月dd日.xlsx形式のブックを削除する
bookname = folder & "??年??月??日.xlsx"
Kill bookname
str = folder & Format(Now(), "yy年mm月dd日")
'・・・以下あなたの処理・・・
End Sub
    • good
    • 0
この回答へのお礼

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

お礼日時:2021/04/25 21:23

今日の日付より古いデータを削除とのことですが、


拡張子(xlsx)を指定して、「\Desktop\削除フォルダ」下の
エクセルファイルを全て取得できます。
その場合、yy年mm月dd日.xlsxの形式のファイルは、本日より必ず古いはずなので、日付の比較をする必要はありません。
(意図的に未来の日付でファイルを作成していれば別ですが)
よって、「\Desktop\削除フォルダ」下のエクセルファイルを全て削除すれば良いと考えますがいかがでしょうか。
(但し、削除フォルダ内には、yy年mm月dd日.xlsx形式のエクセルファイルのみで、他のエクセルファイルがないことが前提です。(例 営業資料.xlsxとか会議資料.xlsx等がないこと)

そのような方法で良いでしょうか。
この回答への補足あり
    • good
    • 0

No1です。


2つ補足要求をしましたが、1つだけしか補足をいただいておりませんので、再度繰り返します。

>ここで今日の日付より古いデータを削除してから、
>上のコードを削除することは可能でしょうか
ということですが、
「上のコードを削除する」とはどういうことでしょうか。
(コードを削除するならVBEで手作業で行えば済む話だと考えますがいかがでしょうか)
この回答への補足あり
    • good
    • 0

私が回答できる保証はありませんが



>ここで今日の日付より古いデータを削除してから、
>上のコードを削除することは可能でしょうか
「上のコードを削除する」とはどういうことでしょうか。
「上のコードを実行する」なら、意味が分かります。

提示されている画像のファイルの拡張子はどうなっていますか。
xlsx、xlsmのどちらでしょうか。
この回答への補足あり
    • good
    • 0

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