VB 在写TXT时,遇到该文件已经打开的时候,程序就出错,如何解决

来源:百度知道 编辑:UC知道 时间:2024/06/25 12:40:40
VB 在写TXT时,遇到该文件已经打开的时候,程序就出错,如何解决?是不是需要判断它有没有被打开,怎么判断啊?请高手指教
对文件的操作是在两个不同的事件中产生的,而且这个操作都是必须要的,我想确定它关了再打开它,不知道可不可以

不需要判断,你只需要在写入之前,加上On Error Resume Next,就行。
所以你应该养成一个习惯,对一个文件操作结束后立即关闭这个文件。这很重要!!

按道理来说,文件已经打开往里面在写文件应该没有问题。判断有一点麻烦,不如在写之前用close全部关闭这样不就不用判断了么??

用检测异常的方法来判断,方法如下
Function FileIsOpen(fileName As String) As Boolean
Err.Clear
On Error Resume Next
Open fileName For Output As #1
Close #1
If Err.Number > 0 Then
FileIsOpen = True
Else
FileIsOpen = False
End If
Err.Clear
End Function

Private Sub Form_Load()
If FileIsOpen("C:/a.txt") = True Then
MsgBox "文件已经打开!"
End If
End Sub

那就把它close掉啊,最后