VBA自动保存为带有用户名和时间戳的宏

时间:2016-07-04 19:36:21

标签: vba logging save-as

当有人关闭它时,我正在尝试使用我的excel文件。将有一个保存,所以我可以有一个用户名,日期和时间的日志我已经完成了大部分工作我想但我只是找不到这个拼图的最后一块我有以下代码但是失败一些怎么不知道为什么。

Private Sub ActiveWorkbook_Close()
Application.DisplayAlerts = False

Year_Run = Year(Date)
If Len(Month(Date)) = 1 Then Month_Run = "0" & Month(Date) Else Month_Run = Month(Date)
If Len(Day(Date)) = 1 Then Day_Run = "0" & Day(Date) Else Day_Run = Day(Date)
Date_Run = " on " & Year_Run & "-" & Month_Run & "-" & Day_Run

If Len(Hour(Time)) = 1 Then Hour_Run = "0" & Hour(Time) Else Hour_Run = Hour(Time)
If Len(Minute(Time)) = 1 Then Min_Run = "0" & Minute(Time) Else Min_Run = Minute(Time)
If Len(Second(Time)) = 1 Then Sec_Run = "0" & Second(Time) Else Sec_Run = Second(Time)
Time_Run = " at " & Hour_Run & "," & Min_Run & "," & Sec_Run

ActiveWorkbook.SaveAs ("\\Path to my folder on our network - " & (Environ$("Username")) & Date_Run & Time_Run & ".xlsm ")
End Sub

`

1 个答案:

答案 0 :(得分:0)

腐朽的炼金术,做两件事: 首先,我假设你的代码在Module1下面,或者在下面的项目A之外的某个地方。如果是这种情况,首先要将子程序的范围从私有改为公共,即Public Sub ActiveWorkbook_Close() 然后,打开ThisWorkbook的代码(下面的项目A)。确保项目B和C按原样设置。现在调用您的子程序,如下图所示。

enter image description here

如果您遇到的问题是我认为的问题,那么这应该可以解决问题。如果不是,请告诉我。