列出文件夹中的所有文本文件并将信息写入excel表单

文件夹中有某些文本文件,即file1.txt; FILE2.TXT; …另外,还有一个string数组可以存储为螺栓(i)在VBScript中。 我的目标是validation每个string(studs(i))是否出现在每个文本文件(fileN.txt)中,并将信息写入excel表格,并使用行和文件名中的string元素(file1,file2,file3 ,…)在列中。 我需要一个可以自动化这个过程的Vbscript。 任何帮助是极大的赞赏

看看这是否有帮助

  • 执行findstr命令
  • 在System.Collections.ArrayList中捕获结果
  • 结果可以存储在excel中

Function findFilesThatContain(searchText, filePath) Set DataList = CreateObject _ ("System.Collections.ArrayList") Set objShell = WScript.CreateObject("WScript.Shell") Set objExecObject = objShell.Exec("findstr /M """ & searchText & """ " & filePath) Do While Not objExecObject.StdOut.AtEndOfStream fileLoc = objExecObject.StdOut.ReadLine() 'Wscript.Echo searchText&","&fileLoc DataList.Add fileLoc Loop Set findFilesThatContain = DataList End Function Sub saveToExcel(searchText, searchPath, strExcelPath) Set objExcel = CreateObject("Excel.Application") If (Err.Number <> 0) Then On Error GoTo 0 Wscript.Echo "Excel application not found." Wscript.Quit End If objExcel.Workbooks.Add Set objSheet = objExcel.ActiveWorkbook.Worksheets(1) objSheet.Name = "Search Result" Dim i,j j = 1 For Each searchText in searchTexts Dim files Set files = findFilesThatContain (searchText, searchPath) i = 1 objSheet.Cells(i, j).Value = searchText For Each path in files Wscript.Echo searchText&","&path i = i + 1 objSheet.Cells(i, j).Value = path Next j = j + 1 Next objSheet.Range("1:1").Font.Bold = True objExcel.ActiveWorkbook.SaveAs strExcelPath, 56 objExcel.ActiveWorkbook.Close objExcel.Application.Quit End Sub Dim strExcelPath strExcelPath = "c:\test.xls" Dim searchPath searchPath = "E:\bin\bat\*.bat" Dim searchTexts(2) searchTexts(0)="pushd" searchTexts(1)="if" saveToExcel searchText, searchPath, strExcelPath 

产量

表