【问题标题】:VBA outputting text file data into excel with mapping tableVBA使用映射表将文本文件数据输出到excel中
【发布时间】:2016-02-19 01:21:14
【问题描述】:

我正在尝试创建一个 VBA 脚本,该脚本将读取我从 PDF 文件转换的文本文件,并在搜索词之后提取关键信息。所有文本文件都将位于中心位置 C:Work\Text

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

示例: 我正在寻找帐号和金额

文本文件1:在文本文件中搜索“Account Number:”可以找到Account Number,搜索“Amount:”可以找到Amount

帐号:1234 金额:$10

文本文件2:在文本文件中搜索“Account”可以找到Account Number,搜索“Cost”可以找到Amount

帐户 00090 花费 25

文本文件3:在文本文件中搜索“Initial Number”可以找到Account Number,搜索“Total”可以找到Amount

初始编号 555555555 总计 90.02 美元

等等

非常重要,我想创建一个引用这些搜索词的映射表,并让它只在搜索词之后引入信息。如果需要添加新的搜索词,我总是可以添加到映射表中。

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

【问题讨论】:

  • 那么问题出在哪里? 究竟你坚持哪一部分,你已经尝试过什么,当你尝试时发生了什么?
  • 您好 Tim,我对 VBA 很陌生,所以我只复制了其他代码。以下是将 PDF 文件转换为文本的当前代码,然后在 PDF 中搜索关键字以查找开始和结束字符串,并将信息发布到 Excel 中的输出表中。我正在寻找一种方法来添加多个关键字,而不是为输出创建一个新选项卡。
  • 代码可以在business-spreadsheets.com/forum.asp?t=884找到,它是Run_Extraction()宏
  • 我正在寻找一种方法来添加多个关键词(比如一堆引用单元格中关键词列表的 if 语句),而不是为输出的每个变体创建一个新选项卡.

标签: vba excel text


【解决方案1】:

我写了示例代码来指点一下。您可能需要迭代相同的部分以进行休息。您可以添加多个 if 条件来搜索其他模式(只是一个建议)

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

【讨论】:

  • 你好 Raju 谢谢你发布这个我会测试一下我对 VBA 很陌生,所以它可能需要一些时间和反复试验。我知道我正在寻找一种方法来从 Excel 文档中的列表中引用关键词列表,而不是在 VBA 代码中硬编码关键词。
  • @JustinStaugaitis,你的问题解决了吗?
  • 我需要一些时间来备份这个我不想丢失你的帖子。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-28
  • 1970-01-01
  • 2021-06-29
  • 2020-07-29
  • 1970-01-01
  • 2013-08-24
  • 1970-01-01
相关资源
最近更新 更多