QTP无权限写入文本的问题

原来的脚本如下:

If not (fileSystemObj.FileExists(fileName)) Then

    Set logFile = fileSystemObj.CreateTextFile(fileName, True)

End If

Set logFile = fileSystemObj.OpenTextFile(fileName, ForAppending , True,TristateUseDefault)

 

QTP执行的时候总是提示五权限写入文件,最开始在这样写的目的是当发现文件不存在时,先创建一个一个该文件,然后在打开。实际上如果这样操作,CreateTextFile()函数还没有释放对文件的使用,当再次执行OpenTextFile()时就会发生写入冲突的问题。

解决方法有两个:

方法一, OpenTextFile()函数本身提供了当发现打开的文件不存在时是否创建的参数:

Set logFile = fileSystemObj.OpenTextFile(fileName, ForAppending , True,TristateUseDefault)

方法二,CreateTextFile()创建文件完毕,使用close()方法关闭对于文件的使用:

If not (fileSystemObj.FileExists(fileName)) Then

Set logFile = fileSystemObj.CreateTextFile(fileName, True)

logFile.Close()

End If

Set logFile = fileSystemObj.OpenTextFile(fileName, ForAppending , True,TristateUseDefault)

你可能感兴趣的:(脚本)