在计算机中,日志文件是一个文件,它记录操作系统或其他软件运行中发生的事件,或通信软件的不同用户之间的消息。记录是保持日志的行为。在最简单的情况下,消息被写入单个日志文件。

考虑一种情况,应用程序正在将访问该应用程序的用户详细信息记录到日志文件中。

| Log文件在不同情况下很有用,尤其是对开发人员而言。日志文件是纯文本文件,可以临时或永久存储信息。您不需要太多代码即可创建日志文件。在本文中,我们将重点放在在特定文件夹中创建自动日志文件。

===

问题:每当打开文件时,如何创建一个包含当前日期,时间和用户名的记事本文件?

以下是包含财务信息的Excel工作簿的快照:

image 1

在此示例中,结果将采用文本文件的形式。记事本将包含日期,时间和其他详细信息;有点像这样:

image 2

要创建日志文件,我们需要按照以下步骤启动VB编辑器:单击“开发人员”选项卡。在“代码”组中,选择“ Visual Basic”

image 3

。 *单击插入,然后单击模块

image 4

这将创建新的模块。在模块中输入以下代码

Sub LogInformation(LogMessage As String)

Const LogFileName As String = "D:\FOLDERNAME\TEXTFILE.LOG"

Dim FileNum As Integer

FileNum = FreeFile ' next file number

Open LogFileName For Append As #FileNum ' creates the file if it doesn't exist

Print #FileNum, LogMessage ' write information at the end of the text file

Close #FileNum ' close the file

End Sub
Public Sub DisplayLastLogInformation()

Const LogFileName As String = "D:\FOLDERNAME\TEXTFILE.LOG"

Dim FileNum As Integer, tLine As String

FileNum = FreeFile ' next file number

Open LogFileName For Input Access Read Shared As #f ' open the file for reading

Do While Not EOF(FileNum)

Line Input #FileNum, tLine ' read a line from the text file

Loop ' until the last line is read

Close #FileNum ' close the file

MsgBox tLine, vbInformation, "Last log information:"

End Sub
Sub DeleteLogFile(FullFileName As String)

On Error Resume Next ' ignore possible errors

Kill FullFileName ' delete the file if it exists and it is possible

On Error GoTo 0 ' break on errors

End Sub

image 5

将以下代码复制到ThisWorkbook模块

Private Sub Workbook_Open()

LogInformation ThisWorkbook.Name & " opened by " & _

Application.UserName & " " & Format(Now, "yyyy-mm-dd hh:mm")

End Sub

image 6

  • 现在VBA代码已全部准备就绪;下次我们打开excel工作簿时,日期和时间将保存在记事本中;请参考下图:

image 7

宏不会覆盖数据。

结论:每次工作簿在指定的路径和文件夹打开时,宏都会运行。

如果您喜欢我们的博客,请在Facebook上与您的朋友分享。您也可以在Twitter和Facebook上关注我们。

我们很高兴收到您的来信,请让我们知道我们如何改进,补充或创新我们的工作,并为您做得更好。写信给我们[email protected]