I have managed to hack together a function that reads or writes to lines in a text file. I'm using it to save some settings for my application. Just wanting see everyones input and to see if there is a better way to edit a line in the text file. Specifically the part that builds an array to edit lines. This is what I have.
Public ReadOptionsOutput As String
Public FSO As New FileSystemObject
Public TxtFileOutPut As String
Public Function TxtFile(WritetoFile As Boolean, FileDir As String, line As
Variant, What As String)
Dim FileContent() As Variant
Dim Idx As Integer
Dim Txtstream As Object
'////////////////Write to file///////////////
If WritetoFile = True Then
Set Txtstream = FSO.OpenTextFile(FileDir, ForReading, False)
Idx = 0
On Error GoTo Err1 'To catch the last blank line. Dont see another way to
see if .ReadLine is blank
Do 'Build an array to edit lines in Text file
Idx = Idx + 1
ReDim Preserve FileContent(1 To Idx)
FileContent(Idx) = Txtstream.ReadLine
Loop
Err1:
Open FileDir For Output As #1: Close #1 'Delet all text inside of File
Set Txtstream = Nothing
Set Txtstream = FSO.OpenTextFile(FileDir, ForAppending, False)
FileContent(line) = What 'Edit line in the array
For Idx = 1 To Idx - 1
Txtstream.WriteLine (FileContent(Idx)) 'Write everything back to
textfile
Next
'/////////////////////Read file///////////////
ElseIf WritetoFile = False Then 'Reads Line in file only
Set Txtstream = FSO.OpenTextFile(FileDir, ForReading, False)
NextLine = 1
Do 'Loop thru to selected line and read it
TxtLine = Txtstream.ReadLine
If NextLine = line Then
TxtFileOutPut = TxtLine
End If
NextLine = NextLine + 1
Loop Until NextLine > line
End If
Txtstream.Close
End Function