• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 136
  • Last Modified:

Appending records in a fixed length text file

I have a fixed length text file named AMCK_GL2 with two columns of data e.g.

3.00      1492.00        
3.00      975.00        
3.00      959.00        
3.00      1150.00        
3.00      1175.00        
3.00      771.00        
3.00      708.00        
3.00      1323.00        
3.00      538.00        
3.00      993.00

What I want to do is capture the file name (AMCK_GL2) in a variable and append each record in the text file so the final product is as follows;

AMCK_GL2      3.00      1492.00        
AMCK_GL2      3.00      975.00        
AMCK_GL2      3.00      959.00        
AMCK_GL2      3.00      1150.00        
AMCK_GL2      3.00      1175.00        
AMCK_GL2      3.00      771.00        
AMCK_GL2      3.00      708.00        
AMCK_GL2      3.00      1323.00        
AMCK_GL2      3.00      538.00        
AMCK_GL2      3.00      993.00

There is probably a very simple answer to the challenge.  For me, however, the challenge is not simple.  I need to solve this problem as soon as possible. Any assistance will be appreciated.        
0
indywebteam
Asked:
indywebteam
1 Solution
 
JR2003Commented:
Private Sub Command1_Click()
    Set fso = CreateObject("Scripting.FileSystemObject")
    Dim ReadFile, WriteFile, sTextLine
    Set ReadFile = fso.OpenTextFile("c:\AMCK_GL2.txt", ForReading)
    Set WriteFile = fso.OpenTextFile("c:\AMCK_GL2.~txt", ForWriting, True)
    With ReadFile
        While Not .AtEndOfStream
            WriteFile.WriteLine "AMCK_GL2      " & RTrim(.ReadLine)
        Wend
        .Close
    End With
    WriteFile.Close
    With fso
        .CopyFile "c:\AMCK_GL2.~txt", "c:\AMCK_GL2.txt", True
        .DeleteFile "c:\AMCK_GL2.~txt", True
    End With    
End Sub
0
 
KarcOriginCommented:
Try this:

Private Sub Command1_Click()
    Dim i, j As Integer
    Dim LineText, NewText, Filename As String
    Dim SourceFile, TempFile As String
   
    ' Source text file
    SourceFile = "C:\My_Space\Test.txt"
   
    ' Temporary file
    TempFile = "C:\My_Space\TempTest.txt"
   
    ' The extract filename
    Filename = "AMCK_GL2"
   
    ' Opening the source file to read
    i = FreeFile
    Open SourceFile For Input As i
   
    ' Opening the temporary file to write
    j = FreeFile
    Open TempFile For Output As j
     
    ' Loop until the end of file not found in the source file
    Do While Not EOF(i)
   
        ' Read a line
        Line Input #i, LineText
       
        ' Prepare the text of line for the temporary file
        NewText = Filename & Space(15 - Len(Filename)) & LineText
       
        ' Insert the new line in temporary file
        Print #j, NewText
    Loop
   
    ' Closing both original and temporary file
    Close #i
    Close #j
   
    ' Copy the temporary file to the original file
    Call FileCopy(TempFile, SourceFile)
   
    ' Delete the temporary file
    Call Kill(TempFile)
   
End Sub

Cheers!
0

Featured Post

2018 Annual Membership Survey

Here at Experts Exchange, we strive to give members the best experience. Help us improve the site by taking this survey today! (Bonus: Be entered to win a great tech prize for participating!)

Tackle projects and never again get stuck behind a technical roadblock.
Join Now