vba - 返回多行
问题描述
我有大量文本,并试图将其中的一部分提取到我的表单中的一个字段中。我正在使用以下代码:
If InStr(1, abody(j), "Extent of Work:", 1) Then
strExtWork = Mid(abody(j), InStr(abody(j), "Extent of Work:") + 16)
End If
这在返回一行时效果很好,但有时我试图提取的工作范围是多行,我有点碰壁......有什么想法吗?
以下是文本示例:
SEQUENCE NUMBER CDC = RIC
Transmit: Date:
*** R O U T I N E *** Request No.: 000000000
Operators Notified:
Start Date/Time: 01/01/18 At 00:15 Expiration Date: 01/01/18
Location Information:
County: Municipality:
Subdivision/Community:
Street: 0 FAKE ST
Nearest Intersection: FAKE ST
Other Intersection:
Lat/Lon:
Type of Work: REPAIR
Block: Lot: Depth: 2FT
Extent of Work: BEGINS 53FT W OF C/L OF INTERSECTION AND EXTENDS 785FT
W. MARK A 3FT RADIUS OF POLE NUMBERS 000/000, 000/000
Remarks:
Working For Contact: NO ONE
Working For: NO ONE
Address: 123 FAKE ST
City: SPRINGFIELD
Phone: 555-555-5555 Ext:
Excavator Information:
Caller: NO ONE
Phone: 555-555-5555 Ext:
Excavator: NO ONE
Address: 123 FAKE ST
City: SPRINGFIELD
Phone: 555-555-5555 Ext: Fax:
Cellular:
Email: EMAIL@EMAIL.COM
End Request
我刚才注意到,如果工作范围的范围只有一行,它将不会导入。它仅在有多行时才导入,有什么想法吗?这是我正在使用的代码:
Dim rowOffset As Long
If InStr(1, abody(j), "Extent of Work:", 1) Then
strExtWork = Mid(abody(j), InStr(abody(j), "Extent of Work:") + 16)
rowOffset = 1 ' reinit
While Left(abody(j + rowOffset), 8) <> "Remarks:" ' check if this is Remarks:
strExtWork = strExtWork & abody(j + rowOffset)
rowOffset = rowOffset + 1
Me.ExtentofWork = Trim(strExtWork)
Wend
End If
解决方案
推荐阅读
- mysql - 在 Node.js 中将 PostgreSQL 转换为 mysql 需要帮助
- angular6 - Angular 6 错误不会触发
- javascript - 阻止页面导航 - SweetAlert
- python - 如何获取带有时间戳的帧,其中帧是从python中的视频转换的
- python - 如果在数据库中找不到查询集,如何退出视图功能
- linux - 从 Linux 中的现有文件创建文件
- react-native - 如何在 React Native 上隐藏 createStackNavigator 的标题?
- jsp - 如何在javascript代码中使用jsp jstl set属性
- azure-devops - 如何在 VSTS 中添加任务作为积压导航级别
- python - 如何使用 sqlalchemy 表达式语言/sqlalchemy 核心连接来自两个不同数据库的表?