writing to a specific column in a text file

Posted on 2009-07-15
Last Modified: 2013-11-26
I want to write to a text file.
I would want data to be written to specific columns because i will need to read it later with a data dictionary.

eg Staff id - starts at column 1
staff name - starts at column 10
staff salary - starts at column 50.

I am using vb6


Question by:Anthony Matovu
LVL 15

Accepted Solution

JackOfPH earned 250 total points
ID: 24867707
Here is a sample:
 Public Sub WruteToText()

        Dim Column1 As String = "Column1"

        Dim Column2 As String = "Column2"

        Dim Column3 As String = "Column3"

        Dim Column4 As String = "Column4"

        Dim Column5 As String = "Column5"

        Using textFile As IO.TextWriter = IO.File.CreateText("D:\MyTextFile.txt")

            'Set a delimeter for the textfile to separate the each column.

            'The delimeter for this example is ||.

            textFile.WriteLine("{0}||{1}||{2}||{3}||{5}", Column1, Column2, Column1, Column2, Column1)

            textFile.WriteLine("{0}||{1}||{2}||{3}||{5}", Column1, Column2, Column1, Column2, Column1)

            'Save the data to the textfile.



        End Using

    End Sub

    Private Sub ReadText()

        Dim textFile As IO.TextReader = IO.File.OpenText("D:\MyTextFile.txt")

        Dim value As String

        Dim charge As String = ""


            'Read each line in the text file.

            value = textFile.ReadLine

            If value Is Nothing Then

                Exit Do

            End If

            'This will split the columns in the given line

            Dim Columns() As String = value.Split("||")

            'Read each column in the current line in the text file.

            For Each column As String In Columns





    End Sub

Open in new window

LVL 83

Expert Comment

ID: 24867920
"I am using vb6" is the third last line!
LVL 32

Assisted Solution

by:Robberbaron (robr)
Robberbaron (robr) earned 250 total points
ID: 24868379
this function is from a while ago but still in my toolbox.... havent checked the method of formating strings recently.
  uses VB6 format function and pads front and back as necessary

for each line

   sOut = ""

   sOut = sOut & Fmt$(staffid,"     00000","R")   'staffid right justified in 10 char

   sOut = sOut & Fmt$(staffname,space$(40),"L")   'name left justified in 40 char

   sOut = sOut & Fmt$(salary,"###########0.00","R")   'salary in 15 char

print #1,sOut

next line


Function Fmt$(txt As String, field$, justification$)

    'formats txt in specified field  width

    Dim a As String, x As Integer, y As Integer, totlen As Integer


    'Determine length of field

    x = InStr(field$, ";")   'search for separator

    If x = 0 Then x = Len(field$) Else x = x - 1

    totlen = x

    a = Trim$(left$(Format(txt, field$), totlen))


    Select Case LCase$(justification$)

        Case "L"

            x = 0: y = totlen - Len(a)

        Case "R"

            x = totlen - Len(a): y = 0

        Case "C"

            x = (totlen - Len(a)) / 2

            y = totlen - Len(a) - x

        Case Else

            'use left

            x = 0: y = totlen - Len(a): y = 0

    End Select

    Fmt$ = Space$(x) + a + Space$(y)

End Function

Open in new window


Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

This article describes some techniques which will make your VBA or Visual Basic Classic code easier to understand and maintain, whether by you, your replacement, or another Experts-Exchange expert.
This is an explanation of a simple data model to help parse a JSON feed
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now