Code
Option Explicit
Public Function ReadTextContents()Function ReadTextContents(filename As String) As String
Dim fnum As Integer, isOpen As Boolean
On Error GoTo Error_Handle:
fnum = FreeFile()
Open filename For Input As #fnum
isOpen = True
ReadTextContents = StrConv(InputB(LOF(fnum), fnum), vbUnicode)
Error_Handle:
If isOpen Then Close #fnum
End Function
Public Sub WriteTextContents()Sub WriteTextContents(text As String, filename As String, Optional AppendMode As Boolean)
Dim fnum As Integer, isOpen As Boolean
On Error GoTo Error_Handle:
fnum = FreeFile()
If AppendMode Then
Open filename For Append As #fnum
Else
Open filename For Output As #fnum
End If
isOpen = True
Print #fnum, text
Error_Handle:
If isOpen Then Close #fnum
End Sub
Public Function ImportDelimitedFile()Function ImportDelimitedFile(filename As String, Optional delimiter As String = vbTab) As Variant()
Dim lines() As String, i As Long
lines() = Split(ReadTextContents(filename), vbCrLf)
For i = 0 To UBound(lines)
If Len(lines(i)) = 0 Then lines(i) = vbNullChar
Next
lines() = Filter(lines(), vbNullChar, False)
ReDim vvalues(0 To UBound(lines)) As Variant
For i = 0 To UBound(lines)
vvalues(i) = Split(lines(i), delimiter)
Next
ImportDelimitedFile = vvalues()
End Function
Public Sub ExportDelimitedFile()Sub ExportDelimitedFile(values() As Variant, filename As String, Optional delimiter As String = vbTab)
Dim i As Long
ReDim lines(0 To UBound(values)) As String
For i = 0 To UBound(values)
lines(i) = Join(values(i), delimiter)
Next
WriteTextContents Join(lines, vbCrLf), filename
End Sub
Option Explicit
Public Function ReadTextContents()Function ReadTextContents(filename As String) As String
Dim fnum As Integer, isOpen As Boolean
On Error GoTo Error_Handle:
fnum = FreeFile()
Open filename For Input As #fnum
isOpen = True
ReadTextContents = StrConv(InputB(LOF(fnum), fnum), vbUnicode)
Error_Handle:
If isOpen Then Close #fnum
End Function
Public Sub WriteTextContents()Sub WriteTextContents(text As String, filename As String, Optional AppendMode As Boolean)
Dim fnum As Integer, isOpen As Boolean
On Error GoTo Error_Handle:
fnum = FreeFile()
If AppendMode Then
Open filename For Append As #fnum
Else
Open filename For Output As #fnum
End If
isOpen = True
Print #fnum, text
Error_Handle:
If isOpen Then Close #fnum
End Sub
Public Function ImportDelimitedFile()Function ImportDelimitedFile(filename As String, Optional delimiter As String = vbTab) As Variant()
Dim lines() As String, i As Long
lines() = Split(ReadTextContents(filename), vbCrLf)
For i = 0 To UBound(lines)
If Len(lines(i)) = 0 Then lines(i) = vbNullChar
Next
lines() = Filter(lines(), vbNullChar, False)
ReDim vvalues(0 To UBound(lines)) As Variant
For i = 0 To UBound(lines)
vvalues(i) = Split(lines(i), delimiter)
Next
ImportDelimitedFile = vvalues()
End Function
Public Sub ExportDelimitedFile()Sub ExportDelimitedFile(values() As Variant, filename As String, Optional delimiter As String = vbTab)
Dim i As Long
ReDim lines(0 To UBound(values)) As String
For i = 0 To UBound(values)
lines(i) = Join(values(i), delimiter)
Next
WriteTextContents Join(lines, vbCrLf), filename
End Sub