【发布时间】:2018-05-08 11:25:59
【问题描述】:
问题来了:
-我有一个包含大量数据的文本文件,但我必须提取包含字符串 "pressure: (values)" 的行。该文件有很多这个字符串,我想在单词压力之后提取最高值。以下是文件中的一些示例内容: - 压力:10.1101 - 压力:20.1102 - 压力:20.1020
“压力:”的出现次数不固定。
我已经想出了一些必要的功能来实现这一点(只是复制和编辑了一些在网上找到的脚本)。但我不知道如何存储匹配的值(也许存储在数组中?)然后应用 max 函数返回最大值。将不胜感激任何意见。
也欢迎使用其他方法来完成所需任务。
这是我的脚本:
Sub search()
Const ForReading = 1
Dim FSO, FileIn, strTmp
Set FSO = CreateObject("Scripting.FileSystemObject")
Set FileIn = FSO.OpenTextFile("D:\data.txt", ForReading)
Do Until FileIn.AtEndOfStream
strTmp = FileIn.ReadLine
If Len(strTmp) > 0 Then 'read if not blank
If InStr(1, strTmp, "pressure:", vbTextCompare) > 0 Then 'find function
x = Mid(strTmp, 10, 7) 'to extract the numeric values only
MsgBox x 'just for checking if value of x is correct
'add function that will return the highest value
'WorksheetFunction.Max (x)
End If
End If
Loop
FileIn.Close
End Sub
【问题讨论】: