创建和管理Log.txt文件

时间:2015-01-20 16:05:34

标签: vba file-io

我有运行的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

2 个答案:

答案 0 :(得分:1)

使用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

答案 1 :(得分:1)

您需要使用OpenTextFile而不是CreateTextFile,如下所示:

' Set oFile = fso.CreateTextFile("C:\Log.txt", True)

Set oFile = fso.OpenTextFile("C:\Log.txt", ForAppending, True)