使用vb查找.txt文件中的最后一个(重复)字符串

时间:2015-03-05 21:07:52

标签: vbscript

(我对vb很陌生,但熟悉vba)。

我试图了解如何从下到上阅读文本文件: 文本文件已更新' x'一段的时间;线条被添加, 我需要找到最后一个条目" line"包含文本" System Pass"。但是,在文件的最后一行和包含所需字符串的最后一行之间是非常不必要的" dump"线。

使用excel我曾经导入文本文件并循环从底部开始的行,并确定我是否有inStr函数的正确字符串行。但这不起作用,或者我只是不知道如何将代码转换为vb

非常感谢帮助。 谢谢 菲利普

2 个答案:

答案 0 :(得分:2)

以下是如何将txt文件读入数组并使用instr从下到上轮询以搜索文本的示例:

Const ForReading = 1

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("c:\temp\test.txt", ForReading)

strText = objTextFile.ReadAll
objTextFile.Close

MyArray = Split(strText, vbCrLf)

For X = Ubound(MyArray) to lbound(MyArray) step -1
    If instr(1,MyArray(X),"T") > 0 then
        Wscript.Echo MyArray(X)
    End if
Next

我的测试文件包含:

hello 
World
This
Is
Text

VBS文件弹出2个消息框,一个带有“Text”,另一个带有“This”

如果您愿意,可以将它们DIM:

Dim objFSO
Dim objTextFile
Dim X
Dim MyArray

但VBS不支持类型,所以不要尝试Dim X为Long或类似的东西。

希望有所帮助

答案 1 :(得分:0)

我建议使用Excel导入数据,您可以使用NPOI库,使用NPOI可以轻松地在.NET中读取Excel文件。

修改

使用VB读取txt文件:https://msdn.microsoft.com/en-us/library/yw67h925.aspx