VBscript在文件中搜索

时间:2013-07-08 20:15:35

标签: vbscript

我是一个vbscript新手,想要搜索我通过ftp下载的一些文件。我运行了一个脚本,下载文件现在我不知道如何运行脚本来搜索所有文件。这就是我所拥有的,但我认为我应该使用select case语句。

很抱歉,如果此代码看起来很粗糙

Sub ReadDownloads()

Dim strInput As String
strInput = "file\path\somefile.ftp"

Dim dhigh, dclose, dlow

Close #1
Open strInput For Input As #1

  Input #1, strReadLine
  Input #1, strReadLine


While Not EOF(1)
    Input #1, strReadLine
    'Debug.Print strReadLine
    arrbreakdown = Split(strReadLine, " ")
    'Debug.Print arrbreakdown(1)
    If Left(arrbreakdown(1), 7) = "itemsearchingfor" Then
        If Mid(arrbreakdown(1), 8, 1) = "c" Then
            dclose = arrbreakdown(3)
        ElseIf Mid(arrbreakdown(1), 8, 1) = "h" Then
            dhigh = arrbreakdown(3)
        ElseIf Mid(arrbreakdown(1), 8, 1) = "l" Then
            dlow = arrbreakdown(3)
        End If
    End If


Wend
Close #1

Debug.Print dclose
Debug.Print dhigh
Debug.Print dlow

Range("D2").Value = dclose
Range("E2").Value = dhigh

1 个答案:

答案 0 :(得分:1)

如果您希望在文件中搜索文字。第一步是将文件转换为字符串。

以下功能将为您完成此操作:

' -----------------------------------------
Private Function getFileAsString(p_strFilePath)
    Dim objFSO, objFile
    Dim strFileContents

    Set objFSO = CreateObject("Scripting.FileSystemObject") 
    Set objFile = objFSO.OpenTextFile(p_strFilePath, 1, false) 
    strFileContents = objFile.ReadAll 

    'clean up
    Set objFSO = Nothing
    Set objFile = Nothing

    getFileAsString = strFileContents
End Function    

下一步是检查字符串中是否存在文本,即文件内容。

下面的函数将为您执行此操作,它使用VB InStr函数,该函数返回文本出现次数的整数。

' ----------------------------------------- 
Public Function isTextPresent(p_strFileContents)
    Dim intTemp, blnTextFound

    'using 'InStr' function to see if a string exists  
    intTemp = InStr (p_strFileContents, "WHATEVER TEXT YOU ARE SEARCHING FOR")

    If intTemp > 0 Then
        blnTextFound = True
    Else
        blnTextFound = False
    End If    

    isTextPresent = blnTextFound
End Function