VBA将文本文件数据输出到excel与映射表

我正在尝试创build一个VBA脚本,它将读取我从PDF文件转换的文本文件,并在search词后面提取关键信息。 所有文本文件将位于中央位置C:工作\文本

在这些文本文件中的每一个都是我想要提取并放入Excel中的列的信息。 search词有助于识别信息,但每个文本文件中的search词可能不同,因此我需要创build一个search词表。 一旦它find一个文本文件中的信息,它就可以移动到下一个文件,它不需要发布出现在文本文件中的每个search词的实例。

例如:我正在查找帐号和金额

文本文件1:通过search单词“账号:”可以在文本文件中find账号,通过search“金额:”可以find金额

帐号:1234金额:$ 10

文本文件2:通过search单词“账户”可以在文本文件中find账号,通过search“成本”可以find金额。

帐户00090费用25

文本文件3:通过search单词“初始号码”可以在文本文件中find帐号,通过search“总计”可以find金额。

初始编号555555555共计$ 90.02

等等

所以基本上我想创build一个映射表,引用这些search词,它只是在search词后面的信息。 如果需要添加新的search词,我总是可以添加到映射表中。

输出将必须把所有的帐号数据放入A1列,所有的金额数据将进入B1

我写了示例代码来给出指针。 你可能需要迭代同一块rest。 您可以添加多个条件来search其他模式(只是一个build议)

Const ForReading = 1 Dim strSearchFor dim i=1 Set objExcel = CreateObject("Excel.Application") 'Set objWorkbook = objExcel.Workbooks.Open("C:\test.xls") objExcel.Application.Visible = True objExcel.Workbooks.Add For Each f In objFSO.GetFolder("C:\some\folder").Files Set objFile = f.OpenAsTextStream strSearchFor = "Account Number" Do Until objFile.AtEndOfStream strLine = objFile.ReadLine 'do stuff with strLine and append to strText If InStr(strLine, strSearchFor) <> 0 then Wscript.Echo "Account Number found" objExcel.Cells(i, 1).Value = strLine i=i+1 Else Wscript.Echo "Account Number not found" End If Loop objFile.Close Next objExcel.ActiveWorkbook.SaveAs "C:\test.xls" objExcel.ActiveWorkbook.Close objExcel.Application.Quit