OK, see if this works,
Sub test()
Dim fn As String, txt As String, a() As String, n As Long, m As Object, e
fn = Application.GetOpenFilename("TextFiles,*.txt")
If fn = "False" Then Exit Sub
ReDim a(1 To 10000)
With CreateObject("VBScript.RegExp")
txt = CreateObject("Scripting.FileSystemObject").OpenTextFile(fn).ReadAll
.Pattern = "^(.*?)[\r\n]{1,2}(.*?[\r\n]{1,2}((.*)[\r\n]{1,2})+)[\r\n]{2,}((.+([\r\n]{1,2}|$))+)"
If .test(txt) Then
Set m = .Execute(txt)(0).submatches
If m(3) <> "" Then
n = n + 1: a(n) = m(0)
.Pattern = "[\r\n]+$"
n = n + 1: a(n) = Replace(.Replace(m(1), ""), vbNewLine, ",")
n=n+1
For Each e In Split(m(4), vbNewLine)
n = n + 1: a(n) = e
Next
End If
End If
End With
If n > 0 Then
ReDim Preserve a(1 To n)
Open Replace(fn, ".txt", "_Processed.txt") For Output As #1
Print #1, Join(a, vbNewLine);
Close #1
End If
End Sub
Bookmarks