3

I have a script that reads in a comma delimited text file, however whenever I use Trim(str) on one of the values I have extracted in the file, it won't work...

My Text File:

some string, anotherstring, onelaststring
some string, anotherstring, onelaststring
some string, anotherstring, onelaststring
some string, anotherstring, onelaststring

My Script:

Dim fso, myTxtFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set myTxtFile = fso.OpenTextFile("mytxt.txt")

Dim str, myTxtArr
txtContents myTxtFile.ReadAll
myTxtFile.close
myTxtArr = Split(txtContents, vbNewLine)

For each line in myTxtArr
    tLine = Split(tLine, ",")
    Trim(tLine(1))
    If tLine(1) = "anotherstring" Then
        MsgBox "match"
    End If
Next

My script never reaches "match" and I'm not sure why.

tarki
  • 67
  • 1
  • 7

1 Answers1

3

Trim() is a function that returns the trimmed string. Your code uses it improperly. You need to use the returned value:

myTxtArr(1) = Trim(myTxtArr(1))

or use another variable to store the value, and use that separate variable in the comparison,

trimmedStr = Trim(myTxtArr(1))
If trimmedStr = "anotherstring" Then

or you can just use the function return value directly in the comparison,

If Trim(myTxtArr(1)) = "anotherstring" Then

Here's a corrected version of that portion of your code:

For each line in myTxtArr
    tLine = Split(line, ",")
    tLine(1) = Trim(tLine(1))
    If tLine(1) = "anotherstring" Then
        MsgBox "match"
    End If
Next
Ken White
  • 123,280
  • 14
  • 225
  • 444