Login | Register   
RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.

Tip of the Day
Language: VB5,VB6
Expertise: Intermediate
Sep 1, 2001



Building the Right Environment to Support AI, Machine Learning and Deep Learning

ConcatenateFiles - Merge multiple text files in one

' Concatenate a variable number of text files into a single result file
' Params:
'  - ResultFile: the complete path of the result file you want to create
'  - Separator: a string that is written when a file is added to the result 
' file.
'      Note: this string can contain the #FilePath# tag that will be replaced
'      with the path of the file being added
'  - SourceFiles: a sequence of files whose content will be concatenated
' Example:
'   ConcatenateFiles "D:\res.txt", "------ NEW FILE: #FilePath# ------",
'  "D:\1.txt", "D:\2.txt", "D:\3.txt"

Private Sub ConcatenateFiles(ByVal ResultFile As String, _
    ByVal Separator As String, ParamArray SourceFiles() As Variant)
    Dim FSO As New FileSystemObject
    Dim fsSourceStream As TextStream
    Dim fsResStream As TextStream
    Dim sSeparator As String
    Dim i As Integer
    On Error Resume Next
    ' create a new file
    Set fsResStream = FSO.OpenTextFile(ResultFile, ForWriting, True)
    ' for each source file in the input array
    For i = 0 To UBound(SourceFiles)
        ' add the separator first (replacing the special tag for the file path)
        sSeparator = Replace(Separator, "#FilePath#", SourceFiles(i))
        fsResStream.Write sSeparator & vbCrLf
        ' open the file in read mode
        Set fsSourceStream = FSO.OpenTextFile(SourceFiles(i), ForReading)
        ' add its content + a blank line to the result file
        fsResStream.Write fsSourceStream.ReadAll & vbCrLf
        ' close this source file
    Next i
End Sub
Marco Bellinaso
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date