vba - 如何为所有最终用户执行 Excel VBA 自动化

标签 vba excel automation

我编写了以下代码,以便在关闭 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/

相关文章:

vba - Excel 范围内行的平均值

automation - Knife 搜索嵌套属性

vba - 如何在使用加载项启动 Excel 时打开 'Snap To Grid'

python-3.x - python : Paste Excel cells with win32com to Powerpoint without losing cell formats

excel - Excel 表格中第一个单元格的位置

c# - 是否可以使用 Epplus 在 Excel 中复制行(包含数据、合并、样式)?

excel - 将选定的工作表保存在另一个工作簿中

arrays - 在 VBA 中使用数组创建堆积柱形图

excel - Delphi自动化调整图表大小

python - 如何使用 Selenium Webdriver 在谷歌浏览器扩展中选择不同的选项