我编写了以下代码,以便在关闭 Excel 电子表格时,它会使用当前日期和时间更新其名称:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If ThisWorkbook.Name = "Name_Last Opened-" & Format(Date, "MM-DD-YYYY") & _
"_" & Format(Time, "HH.MM") & ".xls" Then
Else
ThisWorkbook.SaveAs Filename:="\\C:\... Name_Last Opened-" & _
Format(Date, "MM-DD-YYYY") & "_" & Format(Time, "HH.MM") & ".xls"
FName = Sheets("Name").Range("D1").Text
Kill FName
End If
End Sub
Private Sub Workbook_Open()
Range("A1").Select
ActiveCell.FormulaR1C1 = ThisWorkbook.Name
End Sub
此外,该代码位于 MS Excel 对象 - ThisWorkbook 下的 VBAProject(文件名)中。
这段代码非常适合我或创建它的工作站;但是,它不会对任何打开它的人执行。任何人都知道如何在任何计算机上打开和关闭电子表格时执行代码,而不仅仅是我的?
谢谢,
DFM
最佳答案
Excel 的安全设置可能不允许其他人的计算机运行可能被解释为有风险的恶意软件的脚本。也许您很久以前就更改了安全设置,以至于您忘记了它。看看您是否可以修改其他用户的安全设置,看看这是否会使宏在工作簿上执行关闭。
关于vba - 如何为所有最终用户执行 Excel VBA 自动化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1038804/