Für Dateioperationen wird gerne auf die Scripting Runtime verwiesen. Es geht aber auch mit deutlich weniger Overhead.
Public Function ReadFile(sPath As String) As String
  On Error GoTo AUSGANG
  Dim lFileNr As Long
  Dim sText As String
  lFileNr = FreeFile
  Open sPath For Binary As #lFileNr
  sText = Space$(LOF(lFileNr))
  Get #lFileNr, , sText
AUSGANG:
  If lFileNr Then Close #lFileNr
  If Err.Number Then Err.Raise Err.Number, Err.Source, Err.Description
  ReadFile = sText
End Function
Public Sub WriteFile(sPath As String, _
  sText As String, _
  Optional ByVal bAppend As Boolean _
)
  On Error GoTo AUSGANG
  Dim lFileNr As Long
  lFileNr = FreeFile
  Select Case bAppend
  Case False
    Open sPath For Output As #lFileNr
  Case Else
    Open sPath For Append As #lFileNr
  End Select
  Print #lFileNr, sText;
AUSGANG:
  If lFileNr Then Close #lFileNr
  If Err.Number Then Err.Raise Err.Number, Err.Source, Err.Description
End Sub