我相对较新,但想深入研究它。
我需要在日志文件中查找一串文本。
当找到该文本字符串时,我想立即获得接下来的4行文本,请参阅下面的示例:
找到示例文本字符串 找到字符串后的第一行 找到字符串后的第二行 找到字符串后的第三行 找到字符串后的第四行
任何帮助或任何替代或任何脚本将非常感谢,我只想将日志文件的内容提取到我的目标表中。
由于 CHIRAG
编辑:
我的代码是:
'strFileName = "D:\write123.xls"
'Set objExcel = CreateObject("Excel.Application")
'objExcel.Visible = True
'Set objWorkbook = objExcel.Workbooks.Add()
'objWorkbook.SaveAs(strFileName)
'objExcel.Quit
Set objFileToRead = CreateObject("Scripting.FileSystemObject").OpenTextFile("D:\mic.txt",1)
strFileText = objFileToRead.ReadAll()
objFileToRead.Close
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFileToWrite = objFSO.OpenTextFile("D:\write123.xlsx", 2)
objFileToWrite.Write strFileText
objFileToWrite.Close
答案 0 :(得分:0)
Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject")
dim objFileToRead : Set objFileToRead = objFSO.OpenTextFile("D:\mic.txt",1)
dim myArray(0)
While Not objFileToRead.AtEndOfStream
strLine = objFileToRead.ReadLine
myArray(UBound(myArray)) = strLine
reDim Preserve myArray(UBound(myArray)+1)
Wend
objFileToRead.Close
Dim objExcelApp : Set objExcelApp = CreateObject("Excel.Application")
dim myExcel : Set myExcel = objExcel.Workbooks.Add()
With myExcel.Worksheets(1)
For myLoop = 0 to UBound(myArray)
.Range("A" & myLoop).Value = myArray(myLoop)
Next
End With
myExcel.SaveAs Filename:="D:\write123.xlsx"
myExcel.Close
objExcel.Quit
Set objExcel = Nothing
Set objFileToRead = Nothing
Set objFSO = Nothing
这段代码的作用是将日志文件的全部内容读入一个数组;创建Excel和工作簿的实例;对于日志条目数组中的每一行,将其输入到" A"柱;在退出Excel之前保存并关闭工作簿。如果您需要更多解释这里发生的事情,请告诉我们?