我是一个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
答案 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