2012-05-14 2 views
1

У меня есть код VBA, который создает файл и должен иметь процедуру обработки ошибок в случае, если что-то происходит, когда файл закрывается (если он вообще открыт).VBA: Обработка ошибок в закрытом файле

Если файл открыт и сработает до того, как он достигнет Закрыть #F, или даже до его фактического создания.

Sub test1() 
On Error GoTo Err 

    Dim rs As DAO.Recordset 
    Dim F As Integer 

    F = FreeFile 

    Open "C:\MYFILE.TXT" For Output As #F 

    ' My code that does lots of stuff... 

    If Not rs Is Nothing Then rs.Close 
    Close #F 

Exit_Sub: 
    Set rs = Nothing 
    Exit Sub 
Err: 
    MsgBox Err.Description 
    Resume Exit_Sub 

End Sub 

ответ

3

Изменить эту часть

Exit_Sub: 
    Set rs = Nothing 
    Exit Sub 

в

Exit_Sub: 
    On Error Resume Next 
    Close #F 
    On Error GoTo 0 
    Set rs = Nothing 
    Exit Sub 

И удалить Close #F, откуда это было раньше ...

Смежные вопросы