注册 登录
编程论坛 VB6论坛

保存文件名为原文件加更新日期 vba代码

a56q 发布于 2021-11-06 15:42, 950 次点击


Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.DisplayAlerts = False
    Dim s$
    w = "abc " & Month(Now) & "月" & Day(Now) & "日" & ".xls"
    With Me
        s = .ActiveSheet.[b2] & w
        If s <> .Name Then
            .SaveCopyAs .Path & "\" & s
            .ChangeFileAccess xlReadOnly
            Kill .FullName
        Else
            .Save
        End If
    End With
End Sub

我想在原文件修改之后选择保存时,文件名自动更改为原文件名加最后一次修改日期,如果原文件未修改,那么退出时正常提示是否保存
这个怎么改,求教大神,感谢
2 回复
#2
约定的童话2021-11-07 07:49
定义一个一维数组,取出所有工作表名称到里面,然后复制保存出来,最后删除自身。
dim ar(),sht as worksheet
for each sht in sheets
   i=i+1
   redim preserve ar(1 to i)
   ar(i)=sht.name
next
sheets(ar).copy
activeworkbook.close true,路径+文件名+时间+属性
kill .....
#3
独木星空2021-11-13 07:24
回复 楼主 a56q
约定的童话版主已经给出答案。为什么提了问题就不露面了?
1