创建时在Excel模板中插入当前日期
时间:2020-03-05 18:46:44 来源:igfitidea点击:
我在这里为用户构建一个excel模板(* .xlt),我要做的一件事情就是在创建新文档时(即当他们双击文件中的文件时)插入当前日期。 Windows资源管理器)。我该怎么做呢?
更新:我应该补充一点,我不想使用任何vba(宏)。如果那是唯一的选择,那就这样,但我真的想避免强迫我的用户记住单击一些"允许宏内容"按钮。
解决方案
回答
我们可以为excel编辑默认模板-
在XLSTART目录中有一个名为Book.xlt的文件,通常位于C:\ Program Files \ Microsoft Office \ Office \ XLStart \中。
我们应该能够添加一个名为Workbook_Open的宏。
Private Sub Workbook_Open() If ActiveWorkBook.Sheets(1).Range("A1") = "" Then ActiveWorkBook.Sheets(1).Range("A1") = Now End If End Sub
我的VBA有点生锈,但是我们可能会发现类似的作品。
回答
我们可以使用工作表函数= TODAY(),但是很显然,只要重新计算工作簿,此函数就会更新为当前日期。
正如1729所说,我能想到的唯一的其他方法是对Workbook_Open事件进行编码:
Private Sub Workbook_Open() ThisWorkbook.Worksheets("Sheet1").Range("A1").Value = Date End Sub
我们可以通过对模板进行数字签名(在VBA IDE工具|数字签名...中)并选择一个数字证书来减少每次需要用户接受宏的问题,但是,我们将需要从商业证书中获取证书。权限(请参见http://msdn.microsoft.com/zh-cn/library/ms995347.aspx)。用户将在第一次运行模板时需要选择始终信任此证书,但是此后将不再提示。
回答
为了避免使用VBA,并且如果我们认为用户可能会按照说明进行操作,则可以要求他们复制日期,然后粘贴special-> values来设置日期,以便将来不会更改。