vba - Word VBA - 如何使用制表位获得水平位置?
问题描述
我正在尝试解析一些 word 文档(以前是从 pdf 文档中导出的),总共有 2000 多行。
为了提取数据,我使用正则表达式没有任何问题,但有一个:货币字段可以提取或存款(这是银行账户余额),它们之间的唯一区别是它们的水平位置(不幸的是,不能谈论列,因为它的格式不一样一张桌子)。
我在向您询问如何检测它们是取款还是存款的想法。
我粗略的想法是:
- 使用从单词中获取标签位置
doc.Paragraphs.TabStops
- 获取第二个日期之后有多少个制表符字符。但是怎么做?
- 计算货币字符的长度,从而计算货币右侧的位置(它们在右侧对齐)。但又如何?
解决方案
一种可能:
获取行/段落中第一个金额(非日期)的 Word.Range,并使用
TheRange.End.Information(wdHorizontalPositionRelativeToPage)
找出它们在哪一列(即使在每一列中也可能会有一些变化)
推荐阅读
- python - sort_values 后的 Pandas 绘图系列产生奇怪的图表
- amazon-web-services - 通过 CloudFormation 从 AWS Marketplace 启动 AMI
- node.js - 当一内一请求时,Chai-http 不检查第二个断言
- java - Wicket - 如何使用 ajax 刷新表中的单行
- python - Robotframework“选择文件”导致AttributeError:模块'base64'在docker中没有属性'encodestring'
- c# - 是否可以获取一个枚举列表并将其转换为另一个?
- swift - 带有导航项的自动布局
- django - Django 管理员查看错误
- docker - Docker Swarm 调度策略
- javascript - 删除后 Nuxt 处理重定向且无错误:beforeUpdate 方向不起作用?