我有一个从txt文件读取字符串并将其传递回变量的函数。在变量上,我有一个case
块。尽管case
条件和变量值包含的字符串相同,但它不起作用。
这是我的代码(大部分内容都省略了帖子的长度,但这部分不能正常工作):
vFile = LCase(Trim(Replace(readFile(DirFile & match.Value & ".txt"), "\r", "")))
vFile = Replace(vFile, " ", "")
vFile = Replace(vFile, vbLf, "")
Debug.Print ("Value in variable fromFile: " & fromFile)
Select Case vFile
Case "abc":
Debug.Print ("ABC!")
Case "efg":
Debug.Print ("EFG!")
Case Else:
Debug.Print ("Error: " & vFile)
End Select
这是打印到我的"即时窗口"以下内容:
Value in variable vFile: abc
Error: abc
case else
块正在运行,尽管变量的内容为" abc"匹配" abc"块。为什么这不正确运行?
编辑:
这是正在打印的内容(在换行符的'
之前还有两个空格。
Value in variable vFile: 'abc
'
Error: 'abc
'
答案 0 :(得分:0)
修复方法是在vbCrLf
函数中使用常量:Replace
,而不是\n
或\r
等。