Search code examples
vbscriptwhitespacespacetrimblank-line

Vbscript Trim function


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.


Solution

  • 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