(请各位高手帮忙)如何从.OUT(数据文件)中选择自己想要的数据,并保存在另一各文件
*********************************************************
* 各层构件数量、构件材料和层高 *
*********************************************************
层号 塔号 梁数 柱数 墙数 层高 累计高度
(混凝土) (混凝土) (混凝土) (m) (m)
1 1 157(30) 44(35) 0(25) 1.000 1.000
2 1 149(30) 44(35) 0(25) 4.600 5.600
3 1 149(30) 44(35) 0(25) 3.600 9.200
4 1 149(30) 44(35) 0(25) 3.600 12.800
5 1 149(30) 44(35) 0(25) 3.300 16.100
6 1 149(30) 44(35) 0(25) 3.300 19.400
7 1 149(30) 44(35) 0(25) 3.300 22.700
8 1 157(30) 44(35) 0(25) 3.300 26.000
以上是这个文件的部分数据,这些数据前面也还有很多数据,其中包括汉字,我想从中挑选自己想要的数据,不知道采用什么办法,请各位高手指教,最好给出代码,比如我想获得累计高度中16.100,谢谢
[解决办法]
比较笨的方法是逐行分析,好处是对文件内容的格式要求不高
Option Explicit
Sub Main()
Dim hFile As Integer
Dim sLine As String
Dim aFields() As String
hFile = FreeFile
Open "a.OUT " For Input Access Read As #hFile
While Not EOF(hFile)
Line Input #hFile, sLine
If LineToFields(sLine, aFields) Then
If aFields(6) = "16.100 " Then
输出到其他文件
End If
End If
Wend
Close #hFile
End Sub
Function LineToFields(ByVal sLine As String, ByRef aFields() As String) As Boolean
If Len(sLine) < 73 Then Exit Function
ReDim aFields(6)
aFields(0) = Trim$(Mid$(sLine, 1, 4))
If Not IsNumeric(aFields(0)) Then Exit Function
aFields(1) = Trim$(Mid$(sLine, 5, 6))
aFields(2) = Trim$(Mid$(sLine, 11, 14))
aFields(3) = Trim$(Mid$(sLine, 25, 12))
aFields(4) = Trim$(Mid$(sLine, 37, 12))
aFields(5) = Trim$(Mid$(sLine, 49, 11))
aFields(6) = Trim$(Mid$(sLine, 60, 14))
LineToFields = True
End Function