I'm pre-emptively posting a 2nd solution that deals with the possible issue
mentioned by Jonathan. I didn't have this issue so it's not accounted for
in my original code. I suspect that since there isn't even a standard
definition of what a .txt file is in M$ this solution may not work in every
case but it worked with files created via NotePad.
Luke
Rem Concatenate files named in "sources" array to file named by "output"
Private Sub catFiles(ByRef sources As Variant, ByVal output As String)
Dim fds As Variant, fdo As Variant, data As Byte, ndx As Integer
Dim cr As Variant, lf As Variant
fdo = FreeFile(0)
Open output For Binary Access Write As fdo Len = 1024
For ndx = 0 To UBound(sources)
fds = FreeFile(0)
Open sources(ndx) For Binary Access Read As fds Len = 1024
Get #fds, , data
While Not EOF(fds)
Put #fdo, , data
cr = lf
lf = data
Get #fds, , data
Wend
If cr <> 13 Or lf <> 10 Then Put #fdo, , vbCrLf
Close #fds
Next ndx
Close #fdo
End Sub