本人的毕业设计。
我有数字水准仪的测量数据文件,为Text格式的文件。数据量比较大。现要逐行读取数据,并提取相应信息,输出到新的TEXT文件中。文件数据如图所示(三张图片的数据)上图所示,只需提取其中第2,3,4,7,9列的数据,其余的均不要上图所示,只需要提取其中第一行,最后三行,及其他所有行中的例如KZD2,KYD3,2,3,4等的点号,所有的Rb和Rf,所有的单位为米(m)的数据第三张图,为第二张图的补充
补充个说明一下,所需要的数据怎么提取到新的Text文件中,并输出。
请好心人帮忙,求大神求解答,万分感谢!!!

解决方案 »

  1.   

    不就是一个简单的Split函数就可以搞定的事吗? 你会想不到? 人不要太懒了,真的。
      

  2.   

    应该是用TAB分隔的。
    读出一行后,用Split按TAB拆分成数组,
    直接取数组中对应的值就行了。加上必要的判断,就OK了。
      

  3.   

    给你一个通用的做法:
    一 打开文件
    Dim strLine As String, strItem() As String 
    Open "yourdata.txt" For Input As #1
    Open "newfile.txt" For Output As #2
    Do Until EOF(1)
        ‘这里处理数据
    Loop
    Close #2
    Close #1二 处理方法,以你第一图的情况为例
    Line Input #1, strLine
    strLine = Replace(strLine, vbTab, Space(1))  ’将所有制表符替换为空格
    strLine = Replace(strLine, “|", Space(1)) ’将所有竖线替换为空格
    Do While InStr(strLine, Space(2)) '去掉多余的空格
        strLine = Replace(strLine, Space(2), Space(1))
    Loop
    strItem = Split(strLine, Space(1))
    If Ubound(strItem) > 7 Then 
        strLine = strItem(1) & vbTab & strItem(2) & strItem(3) & vbTab & strItem(6) & vbTab & strItem(8)
        Print #2, strLine
    End If
      

  4.   

    这也行啊?学了一招。你换来换去不麻烦啊?直接以vbTab分隔成数组就好了。
      

  5.   

    这也行啊?学了一招。你换来换去不麻烦啊?直接以vbTab分隔成数组就好了。
    问题是,你怎知他只有 vbTab 分隔?要是还有多个空格呢?还有竖线呢?你如何保证分出的元素都是字段?
      

  6.   

    of123考虑倒是比较周全,但实际上楼主的文件格式根本不明朗。
    从它的第2、3张图来看,感觉就不是用vbTab分隔的,并且空格还不能作为分隔符。
    我感觉那两张图中的内容,是竖线分隔、补空格对齐的。
    所以不能把“拆分列”的事情想得太简单。