[COLOR=darkblue]Public Sub[/color] WriteToTextFile(_
sContents [COLOR=darkblue]As String[/color], _
sFile [COLOR=darkblue]As String[/color], _
[COLOR=darkblue]Optional[/color] bAppend [COLOR=darkblue]As Boolean[/color])
[COLOR=darkblue]Dim[/color] iFileNum [COLOR=darkblue]As Integer[/color]
[COLOR=darkblue]Dim[/color] bIsOpen [COLOR=darkblue]As Boolean[/color]
[COLOR=darkblue]On Error GoTo[/color] Err_Handler
bIsOpen = [COLOR=darkblue]False[/color]
iFileNum = FreeFile()
[b][COLOR=darkblue]If[/color] bAppend [COLOR=darkblue]Then
Open[/color] sFile [COLOR=darkblue]For Append As[/color] #iFileNum
[COLOR=darkblue]Else
Open[/color] sFile [COLOR=darkblue]For Output As[/color] #iFileNum
[COLOR=darkblue]End If[/color][/b]
[COLOR=green]' If execution flow is here,
' the file opened OK[/color]
bIsOpen = [COLOR=darkblue]True[/color]
[COLOR=darkblue]Print[/color] #iFileNum, sContents
[COLOR=green]' Purposely go into the error handler
' to close the file[/color]
Err_Handler:
[COLOR=darkblue]If[/color] bIsOpen [COLOR=darkblue]Then[/color]
[COLOR=darkblue]Close[/color] #iFileNum
[COLOR=darkblue]End If[/color]
[COLOR=darkblue]If[/color] Err [COLOR=darkblue]Then[/color]
Err.Raise Err.Number, , Err.Description
[COLOR=darkblue]End If[/color]
[COLOR=darkblue]End Sub[/color]