devxlogo

ConcatenateFiles – Merge multiple text files in one

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:
es.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        fsSourceStream.Close    Next i        fsResStream.CloseEnd Sub

devx-admin

Share the Post: