如果文件已经不存在fso.OpenTextFile方法,则会出错

时间:2014-06-26 12:27:59

标签: vbscript

我正在使用OpenTextFile方法将一些文本附加到日志文件中。

Sub saveStringToFile(filename, text)
    Dim fso, f
    Set f = fileSysObject.OpenTextFile(filename, 8)
    f.Write text
    f.Close
End Sub

如果文件已经存在,它可以正常工作,但如果找不到目标文件,则会生成运行时错误。

是否有OpenTextFile的标记或其他方法来创建新文件&如果文件不存在则追加?

2 个答案:

答案 0 :(得分:3)

如有疑问,请阅读documentation

object.OpenTextFile(filename[, iomode[, create[, format]]])
     

<强>参数
  [...]
  创建
  可选的。布尔值,指示如果指定的文件名不存在,是否可以创建新文件。如果创建了新文件,则值为 True ;如果未创建,则为 False 。如果省略,则不会创建新文件。

调用OpenTextFile并将3 rd 参数设置为True,以便在文件不存在时创建该文件:

Set f = fileSysObject.OpenTextFile(filename, 8, True)

答案 1 :(得分:0)

可能不是一个很好的解决方案,虽然它可以做到并且我会继续使用它,现在只是为了=)

Sub saveStringToFile(filename, text)
    If fileSysObject.FileExists(filename) Then
        Dim f
        Set f = fileSysObject.OpenTextFile(filename, 8)
        f.Write text
        f.Close
    Else
        Set f1 = fileSysObject.CreateTextFile(filename, True)
        f1.Write text
        f1.Close
    End If

End Sub

如果有的话,会感谢更好的解决方案。