我正在阅读文本文件并使用以下代码在每个空格处拆分数据字符串。
L = f.ReadLine
If L = "" Then GoTo errorpoint:
On Error GoTo errorpoint:
sl = Split(L, " ", -1)
然而,我回来的数组,例如,文本文件中的“Contact”一词,并在我的数组的单个单元格中将其变为“C ontact”(见下文),我不知道为什么。
VBA观察窗口中的数据输出:
我尝试过使用
For i = 0 To UBound(sl)
sl(i) = Replace(sl(i), " ", "")
Next
之后删除空格,但似乎没有从我的数据中删除空格。任何想法如何阻止代码在每个字符之间添加空格?
然后我需要检查sl(1)
和sl(2)
是否分别包含“联系人”和“压力”字样,但目前无法满足该条件,单元格包含“C ontact”和“S”发辫“,所以我改变了if循环来反映这一点,但仍未满足条件。
另外,我无法从String>转换我的数据。看起来是因为不寻常的格式化而加倍。
答案 0 :(得分:1)
正如@LocEngineer在评论中指出的,在更新产生我正在阅读的文本文件的外部软件期间,文本编码已更改为UTF-16,我的数据之间的其他字符为chr(0) ASCII表中的空值,而不是空格(ASCII中的chr(32))。
For i = 0 To UBound(sl)
sl(i) = Replace(sl(i), Chr(0), "")
Next
这个片段解决了这个问题。