プロが教える店舗&オフィスのセキュリティ対策術

いつもお世話になります。
OSはwin11、エクセルはoffice365です。

下記の参考コーードは、
 1 日付が変わり保存すると別名保存される
 2 日付が変わるとその都度マクロの実行が必要

ご指導を仰ぎたいのは、
   ※ ファイル名のみ今日の日付を適用 別名保存はしたくない
   ※ 日付が変われば自動的に今日の日付を適用

参考
Sub ファイル名を日付で保存()
Dim FileName As Variant
FileName = "予定表 " & Format(Date, "yyyymmdd")
ActiveWorkbook.SaveAs FileName:=ThisWorkbook.Path & "\" & FileName, _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub

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

  • どう思う?

    ありがとうございます。
    ここに来るまでにサイトで調べたのですが中々できませんでした。

    我儘ですが具体的にご指導頂けませんでしょうか。

    No.1の回答に寄せられた補足コメントです。 補足日時:2023/10/01 13:35

A 回答 (2件)

現在時点の日付をセルに保持しておくことが必要です。


=now()
等の関数が入っていた場合、開きなおすと、開きなおした日付になりますので、比較ができません。

あとは比較(if関数)で判定すればよいかと思います。
    • good
    • 0

こんにちは



>※ ファイル名のみ今日の日付を適用 別名保存はしたくない
多分、「ファイル名を変更したい」ってことなのかなと思いますが・・
ご提示のように、Date でその時の日付を得られるので、
  "予定表 " & Format(Date, "yyyymmdd") と
ThisWorkbook.Name を比較して、異なっていればファイル名を変えれば良いです。
ただし、ファイルを開いている状態で、そのファイル名を変更することはできませんので、
  別名保存してから、元のファイルを削除する
という処理を行うことで、「ファイル名を変更した」のと同じ結果を得ることができるでしょう。

>※ 日付が変われば自動的に今日の日付を適用
Workbook_Open や Workbook_BeforeClose などを利用して、処理を行うようにしておくことで、自動的に処理されるようにできるでしょう。


とは言え、「毎日のファイルを順に残してゆく」のではなく、「同じファイルを名前だけ変更してゆく」ことをお望みのようなので、ファイル名を「今日の予定表」とか「予定表(本日)」とでもして固定にしておけば、ご質問のようなことをわざわざ処理する必要も無くなると思います。
この回答への補足あり
    • good
    • 0

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

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


このQ&Aを見た人がよく見るQ&A