vb如何读取txt某一列

有以下下这样的TXT文件,假设放到d盘的1.txt文本中
0.0010, 2432.20
0.0020, 3171.44
0.0030, 2673.11
0.0040, 3205.86
0.0050, 3394.31
那么如何提取第一列的数值,并把它赋给x,第二列赋给y,根据x和y的值在picture box中画图,谢谢

你可以用VB先把TXT先读取到数组里

Dim arr As Long
Private Sub Command1_Click()
    Dim i As Long
    Open "c:\123.txt" For Input As #1 '读取c:\123.txt
    arr = Split(StrConv(InputB(LOF(1), 1), vbUnicode), vbNewLine)
    Close #1
    For i = 0 To UBound(arr)
        Print arr(i)
    Next
End Sub

然后你想读那行的,如第2行的,就是数组arr(1)的数据,然后你再取出来画图即可。

追问

提示编译错误,缺少数组,运行不了

追答

你把第一行拿掉试下。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-18
dim strD as string
dim X() as single
dim y() as single
dim tmp() as string

dim lnglRow as long 

open "d:\1.txt" for input as #1
lngRow=0
while not eof(#1)
    line input #1,strd
    Redim Preserve x(lngRow)
    Redim Preserve y(lngRow)
    tmp=split(strd,",")

    x(lngrow)=csng(trim(tmp(0)))

    x(lngRow)=csng(trim(tmp(1)))
    lngRow=lngRow+1
wend

close #1

追问

While Not EOF(#1)这句语法错误

追答

While Not EOF(#1)改成While Not EOF(1)

追问

x(lngRow)=csng(trim(tmp(1)))
这个应为y(lngRow)=csng(trim(tmp(1)))吧?
修改完成后出现运行不匹配,
您还有其他的联系方式,我的分没有了,估计追问不了了,现在有点着急,望指教

追答

用私信吧

追问

daimazhidaotiwen后边是126.com,数据放到这个邮箱了,您帮看看,多谢了,密码:daimatiwen

第2个回答  2014-11-18
只需要行读取,然后用split以逗号分割,再转换成数字即可。追问

能否在其他人的回答上给我修改一下代码?谢谢

追答

open "d:\1.txt" for input as #1

while not eof()
line input #1,strd
x=val(split(strd,",")(0))
y=val(split(strd,",")(1))
'.....用x,y画图

wend

追问

本人菜鸟,还是不是很明白,代码无弹出错误,但是没有显示画图,不知为何?多谢

追答

0.001距离假如用pset是根本无法画图的。

第3个回答  2014-11-18
txt不能这样提取 建议将txt转换成xml或xls再用vb读取即可追问

这个txt是别的软件生成的,现在想提取每列的数据进行画图,vb应该能吧

相似回答