1

Explanation: My code imports a textfile and changes at a specific col spaces into the number 19. I succeded to do this by using left and right in vba.

I dont know why but my written Code is adding " at the end and beginning of my exported loops. I already searched for a solution and found this question Remove specific characters at beginning and end of string

Is there something wrong with my code? i am confused at this point.

My Code:

Sub Text()
'open File and save as string

Dim strFilter As String
Dim strFileName As String
Dim strFileNameSecond As String

strFileNameSecond = "new.txt"


  strFilter = ahtAddFilterItem(strFilter, "Text Files (*.TXT)", "*.TXT")
  strFileName = ahtCommonFileOpenSave( _
                Filter:=strFilter, OpenFile:=True, _
                DialogTitle:="Please select an input file...", _
                Flags:=ahtOFN_HIDEREADONLY)

'load selected file and save as new file

Dim strZeile
Dim strRepMid As String

Open strFileName For Input As #1
Open strFileNameSecond For Output As #2

Do While Not EOF(1)
    Line Input #1, strZeile

    strRepMid = Left(strZeile, 40) & "19" & Right(strZeile, 68)

    Write #2, strRepMid
Loop

Close #1    'close file
Close #2
End Sub


My Textfile:

kjhcae48ovawpovmslövsae       0000000000     jhkfkgnskhvfnslkfvmkjrdacösle<nvsel,fösfvjmykljc,gkvyndngmbrhjgsr
kjhcae48ovawpovmslövsae       0000000000     jhkfkgnskhvfnslkfvmkjrdacösle<nvsel,fösfvjmykljc,gkvyndngmbrhjgsr
kjhcae48ovawpovmslövsae       0000000000     jhkfkgnskhvfnslkfvmkjrdacösle<nvsel,fösfvjmykljc,gkvyndngmbrhjgsr
kjhcae48ovawpovmslövsae       0000000000     jhkfkgnskhvfnslkfvmkjrdacösle<nvsel,fösfvjmykljc,gkvyndngmbrhjgsr
kjhcae48ovawpovmslövsae       0000000000     jhkfkgnskhvfnslkfvmkjrdacösle<nvsel,fösfvjmykljc,gkvyndngmbrhjgsr
kjhcae48ovawpovmslövsae       0000000000     jhkfkgnskhvfnslkfvmkjrdacösle<nvsel,fösfvjmykljc,gkvyndngmbrhjgsr
kjhcae48ovawpovmslövsae       0000000000     jhkfkgnskhvfnslkfvmkjrdacösle<nvsel,fösfvjmykljc,gkvyndngmbrhjgsr
kjhcae48ovawpovmslövsae       0000000000     jhkfkgnskhvfnslkfvmkjrdacösle<nvsel,fösfvjmykljc,gkvyndngmbrhjgsr
kjhcae48ovawpovmslövsae       0000000000     jhkfkgnskhvfnslkfvmkjrdacösle<nvsel,fösfvjmykljc,gkvyndngmbrhjgsr
kjhcae48ovawpovmslövsae       0000000000     jhkfkgnskhvfnslkfvmkjrdacösle<nvsel,fösfvjmykljc,gkvyndngmbrhjgsr
kjhcae48ovawpovmslövsae       0000000000     jhkfkgnskhvfnslkfvmkjrdacösle<nvsel,fösfvjmykljc,gkvyndngmbrhjgsr

File after export:

"kjhcae48ovawpovmslövsae       000000000019   jhkfkgnskhvfnslkfvmkjrdacösle<nvsel,fösfvjmykljc,gkvyndngmbrhjgsr"
"kjhcae48ovawpovmslövsae       000000000019   jhkfkgnskhvfnslkfvmkjrdacösle<nvsel,fösfvjmykljc,gkvyndngmbrhjgsr"
"kjhcae48ovawpovmslövsae       000000000019   jhkfkgnskhvfnslkfvmkjrdacösle<nvsel,fösfvjmykljc,gkvyndngmbrhjgsr"
"kjhcae48ovawpovmslövsae       000000000019   jhkfkgnskhvfnslkfvmkjrdacösle<nvsel,fösfvjmykljc,gkvyndngmbrhjgsr"
"kjhcae48ovawpovmslövsae       000000000019   jhkfkgnskhvfnslkfvmkjrdacösle<nvsel,fösfvjmykljc,gkvyndngmbrhjgsr"
"kjhcae48ovawpovmslövsae       000000000019   jhkfkgnskhvfnslkfvmkjrdacösle<nvsel,fösfvjmykljc,gkvyndngmbrhjgsr"
"kjhcae48ovawpovmslövsae       000000000019   jhkfkgnskhvfnslkfvmkjrdacösle<nvsel,fösfvjmykljc,gkvyndngmbrhjgsr"
"kjhcae48ovawpovmslövsae       000000000019   jhkfkgnskhvfnslkfvmkjrdacösle<nvsel,fösfvjmykljc,gkvyndngmbrhjgsr"
"kjhcae48ovawpovmslövsae       000000000019   jhkfkgnskhvfnslkfvmkjrdacösle<nvsel,fösfvjmykljc,gkvyndngmbrhjgsr"
"kjhcae48ovawpovmslövsae       000000000019   jhkfkgnskhvfnslkfvmkjrdacösle<nvsel,fösfvjmykljc,gkvyndngmbrhjgsr"
"kjhcae48ovawpovmslövsae       000000000019   jhkfkgnskhvfnslkfvmkjrdacösle<nvsel,fösfvjmykljc,gkvyndngmbrhjgsr"
braX
  • 11,506
  • 5
  • 20
  • 33
Risk
  • 139
  • 7

1 Answers1

1

Write # will process data in order to read it with Input # into structured variables.

This includes wrapping strings with double quotes.

If you don't want any processing/formatting, use Print # instead of Write #.

i.e.

Print #2, strRepMid
Andre
  • 26,751
  • 7
  • 36
  • 80