创建和管理 Log.txt 个文件
Create and manage Log.txt file
我有 vba 到 运行 的代码,其中包含许多函数,我想添加一个名为 "WriteLog" 的函数,它将创建(如果它尚不存在)一个文本名为 Log.txt 的文件并将字符串 "text"(作为参数传递)写入此文件。
我希望从其他几个函数启动此函数以监视它们的执行。我的问题是我的实际代码覆盖了文本文件,而不是在我调用函数时向其中添加新行。
这是我的实际代码:
Function WriteLog(text)
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim oFile As Object
Set oFile = fso.CreateTextFile("C:\Log.txt", True)
oFile.writeline (text)
oFile.Close
Set fso = Nothing
Set oFile = Nothing
End Function
Sub Logtesting()
WriteLog ("Testing")
WriteLog ("123")
End Sub
输出结果:
123
使用 OpenTextFile 而不是 CreateTextFile。
fso.OpenTextFile(filename, 8)
MSDN - OpenTextFile Documentation
Function WriteLog(text)
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim oFile As Object
Set oFile = fso.OpenTextFile("C:\Log.txt", 8)
oFile.writeline text
oFile.Close
Set fso = Nothing
Set oFile = Nothing
End Function
您需要像这样使用 OpenTextFile 而不是 CreateTextFile:
' Set oFile = fso.CreateTextFile("C:\Log.txt", True)
Set oFile = fso.OpenTextFile("C:\Log.txt", ForAppending, True)
我有 vba 到 运行 的代码,其中包含许多函数,我想添加一个名为 "WriteLog" 的函数,它将创建(如果它尚不存在)一个文本名为 Log.txt 的文件并将字符串 "text"(作为参数传递)写入此文件。
我希望从其他几个函数启动此函数以监视它们的执行。我的问题是我的实际代码覆盖了文本文件,而不是在我调用函数时向其中添加新行。
这是我的实际代码:
Function WriteLog(text)
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim oFile As Object
Set oFile = fso.CreateTextFile("C:\Log.txt", True)
oFile.writeline (text)
oFile.Close
Set fso = Nothing
Set oFile = Nothing
End Function
Sub Logtesting()
WriteLog ("Testing")
WriteLog ("123")
End Sub
输出结果:
123
使用 OpenTextFile 而不是 CreateTextFile。
fso.OpenTextFile(filename, 8)
MSDN - OpenTextFile Documentation
Function WriteLog(text)
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim oFile As Object
Set oFile = fso.OpenTextFile("C:\Log.txt", 8)
oFile.writeline text
oFile.Close
Set fso = Nothing
Set oFile = Nothing
End Function
您需要像这样使用 OpenTextFile 而不是 CreateTextFile:
' Set oFile = fso.CreateTextFile("C:\Log.txt", True)
Set oFile = fso.OpenTextFile("C:\Log.txt", ForAppending, True)