关闭工作簿时的VBA Excel操作

Riv*_*veR 4 excel vba excel-vba

当有人关闭文件时,是否可以自动让Excel执行操作?

我对VBA是一个很新的堆栈溢出,所以请怜悯..

情况:我有一个Excel文件,也用于其他几个人.此文件发布保存时的mhtml文件.这个mhtml文件将以昨天的日期保存,如"Dashboard 2015-01-12".mhtml文件中看到的数据必须包含与文件名相关的日期.看到的数据取决于此excel文件G2中的单个单元格

我希望Excel文件执行此操作:将单个单元格(G2)更改为昨天的日期.然后保存它.然后关闭它

我想要完成这个动作:当有人关闭文件时

代码还没有:

Sub sbWriteCellWhenClosing()

Workbooks("BOOK1.XLS").Close SaveChanges:=True
Range("G2") = Format(Now - 2, dd - mm - yy)

End Sub

编辑:

这会完成这项工作吗?

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  Range("G2") = Format(Now - 1, dd - mm - yy)
   ActiveWorkbook.Close SaveChanges:=True
End Sub

pee*_*ege 10

这是使用工作簿代码:

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Call sbWriteCellWhenClosing
End Sub
Run Code Online (Sandbox Code Playgroud)

在单独的模块中:

Sub sbWriteCellWhenClosing()

    ActiveSheet.Range("G2") = Format(Now - 1, "dd-mm-yy")   '-1 for yesterday
    ActiveWorkbook.Save

End Sub
Run Code Online (Sandbox Code Playgroud)