vb编程问题,帮帮忙啊,我不知道该怎么弄了

来源:百度知道 编辑:UC知道 时间:2024/06/21 23:22:07
一行有3个数据

例如:
1空格…空格156空格…空格1456空格…
8空格…空格726空格…空格246空格…
6空格…空格15空格…空格45空格…
3空格…空格56空格…空格6空格…
我要用Line Input #intFilenum, strLine读行,我怎样能把这三个数分别赋到3个字母上,方便我入库。数值之间的空格数是不一样多的

我已经尝试了
Line Input #intFilenum, strLine
Debug.Print strLine
a = Split(strLine)
Debug.Print a(0), a(1), a(2)
但是只能读到一个数值,我在第一行a(1), a(14), a(26)得到数值,但在第二行却是在a(2), a(11), a(25)得到数值。由于数值文件太多我不能一个一个的试,请各位高手帮帮忙好吗?

Line Input #intFilenum, strLine
Do
If Len(strLine) = Len(Replace(strLine, " ", " ")) Then Exit Do
strLine = Replace(strLine, " ", " ")
Loop
a = Split(strLine)
Debug.Print a(0), a(1), a(2)

百度吃掉了我的空格,请注意..do里面的replace语句都是.前面是2个空格,后面是1个空格,就是循环减少空格,直至间隔都是1个空格为止!

先做一个数组循环,数组内容就是空格,比如数组是100个,没个变量的值就是从1到100个空格比如
dim abc(100)
abc(1)="1空格"
abc(2)="2空格"
abc(3)="3空格"
太多就用循环来写,达到不可能出现的最多空格为止

然后用REPLACE把每行里的空格都替换成一个空格,这样格式就统一了,再做别的

1.strline 两边去空格
2.把strline 分成第一个数a(0)和后面的部分a(1)
3.a(1)两边去空格
4.a(1)分成a第二个数a(1)和后面的部分a(2)
5.a(2)两边去空格
a(0),a(1),a(2) 为所求

Line Input #intFilenum, strLine
Do Len(strLine) > Len(Replace(strLine, Space(2), Space(1)))
strLine = Replace(strLine, Space(2), Space(1))
Loop
a = Split(strLine)
Debug.Print a(0); a(1); a(2)

看不懂你写什么样