我有一个名为 sth_A 的工作簿,其中 A 是今天dd-mm-yyyy格式的日期。我几乎每天都会打开此工作簿并进行更改,然后使用今天的日期( A )更新文件的名称。
所以我创建了一个Workbook_BeforeClose
事件,意图在其中编写一些代码,每次关闭文件时都会自动重命名我的文件。
我使用了Workbook.SaveAs
方法,但这也保留了旧文件。
有没有办法重命名一个打开的文件,或者在没有保留原始文件的情况下保存,或者以优雅的方式做我想要的其他方法?
代码:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.SaveAs "sth" & Format(Date, "dd-mm-yyyy") & ".xlsm", FileFormat:=52, CreateBackup:=False
End Sub
也:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.SaveAs ThisWorkbook.path & "/sth" & Format(Date, "dd-mm-yyyy") & ".xlsm", FileFormat:=52, CreateBackup:=False
End Sub
P.S。我想在任何情况下删除/覆盖第一个文件。它不仅与新的名称相同。
答案 0 :(得分:1)
保存您的工作簿和Kill
旧工作簿(基本上是@Canute所说的)。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim sOldName As String
sOldName = ThisWorkbook.FullName
ThisWorkbook.SaveAs ThisWorkbook.Path & Application.PathSeparator & _
"sth" & Format(Date, "dd-mm-yyyy") & ".xlsm", FileFormat:=52, CreateBackup:=False
Kill sOldName
End Sub
答案 1 :(得分:0)
如果要在关闭工作簿事件中执行此操作,那么
希望这有帮助。
答案 2 :(得分:0)
添加禁用提醒。
.