首要问题:如何访问 RTF 文件的整个文本
好的,所以我在这里有点问题,我希望我想要的不是完全疯狂,但它就在这里。
我与汽车打交道,每天结束时,我们都会为我们发现的受损车辆编制一份 RTF,然后将它们发送给某人。我们还必须保留一个 Excel 文件,其中包含这些 VIN 号码和相应的损坏情况。我在 VIN Log 部分做了一些工作,使用 VBA 以某些方式格式化某些值。RTF 文件类似于以下格式(这些不是真正的 VIN,但与它们的正则表达式匹配)
1FTEX8EEG12356789 //Other random Information I do not need
004121 2
012051 3
005091
1FTFW7D78KF123567 //Other Random Information I do not need
042071
010341 4
010341 9
//ETC
这是我的问题:我已经弄清楚如何打开 RTF 文件,但是如何一次访问整个文档文本,而不仅仅是逐段,RegExp 对象是否有可用的方法来捕获找到字符串的偏移量?
我尝试使用 RegEx 的原因是因为有这个标题,它每页占用大约 10 个“段落”的空间(这些文档可以是 1 页,有时是 10 页或更多)。如果有人能指出我更快的方法来实现这一点,我将不胜感激。
我在想我最终不得不做的事情,一旦我弄清楚如何使用正则表达式搜索整个文档就是这样
- 收集 ([A-Z0-9]{17}) 的所有 RegExp 匹配项
- 使用步骤 1 中的匹配项通过 InStr 找出文档中的位置
- 使用步骤 2 中的值循环遍历步骤 1 中的每组匹配项,并使用步骤 2 中的索引,以形成类似于以下代码的内容。
代码:
For i=1 To RegMatches.Count
start_pos = InStr(WordDocumentText,RegMatches.Item(i))
For j=start_pos To InStr(WordDocumentText,RegMatches.Item(i+1))
//Code to gather damages on VIN 'i'
Next
Next
但这些似乎......多余,只是一种混乱的方式。
我真正需要知道的是如何访问我用 VBA 打开的 RTF 文件中的全部文本,我可以从那里开始,但如果有人对如何从这里开始有更好的想法有了这个,我会很感激的。