Excel VBA:将代码注入sub以存储日志(时间戳)

时间:2015-08-11 19:09:51

标签: excel vba excel-vba

我需要保存正在运行sub的人的时间戳和ID(sub由不同的(3-4)人每小时运行一次)。我将获得用户名:

*.Value = Environ("Username")

主要问题是,我将如何存储日志?确实将它们保存到不同的电子表格不是一种选择,因为人们会注意到某些东西是打开和关闭的。保存在记事本中也不是一种选择,因为文件需要在共享驱动器上,每个人都有不同的驱动器字母,所以我们不希望在找到路径时遇到严重错误。

理想情况下,它可以将锁定和隐藏工作表中的时间戳保存在相同的* .xlsm文件中。在A列中,用户名和列B是时间戳(小时;分钟;秒)。我的问题是,有没有人有任何想法,尽可能简单和使用什么代码,而不是每15-20行代码闪亮,所以即使新手可以通过alt + f11等发现它?

非常感谢你们。

1 个答案:

答案 0 :(得分:1)

是。创建一个名为“Log”的工作表并将其设置为Very Hidden

Sheets("Log").Visible = xlVeryHidden

这样任何人都无法隐藏它。在此之后,我建议您锁定代码,这样任何人都无法查看工具,VBAProject属性,保护(来自VBE)中的代码。

当然,代码将是存储在sub本身中的非常简单的代码,类似于

dim nextrow as long
nextrow = Sheets("Log").Cells(Sheets("Log").Rows.Count, 1).End(xlUp) + 1
Sheets("Log").Range("A" & nextrow) = username
Sheets("Log").Range("B" & nextrow) = timestamp