title: VBA: Read and Write lines to text file
body: <p>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.</p>
  
  <pre><code>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 &gt; line
  End If
  Txtstream.Close
  End Function
  </code></pre>