首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VBA Word解析文档单步执行对象

VBA Word解析文档单步执行对象
EN

Stack Overflow用户
提问于 2015-05-28 15:19:25
回答 1查看 311关注 0票数 0

我正在使用VBA解析大量的Word文档,我希望确保它们的结构遵循一定的规则(例如,表之间不能有多个段落,表嵌套只能向下一层(即表中可以有一个表,但不能进一步嵌套),依此类推(这不是一个完整的列表!)。

因此,我想我应该遍历每个文档中的“元素”,寻找这些模式,但我一直无法做到这一点。所有循环解决方案似乎都集中在一种类型的对象上,我在这里看不到任何简单的方法来做到这一点。当我查看文档时,我看到(例如)一个标题,然后是三个段落,然后是一个表,然后是一个段落,然后是两个表,依此类推;我希望我的VBA能够以同样的方式浏览文档。有可能吗?

我对Excel VBA很有经验,但刚刚开始使用Word VBA,所以仍然试图理解概念和对象模型--请原谅我的无知!

编辑最后,我发现实现我想要的最好方法是使用VBA将其另存为HTML;这样可以将结构按原样保存在文档中。然后我可以解析HTML,查找我想要的结构元素。我同意,这听起来有点拐弯抹角,但它相当快,而且确实奏效了。

EN

回答 1

Stack Overflow用户

发布于 2015-11-13 04:57:08

Word的对象模型并没有为您提供一种按照您所描述的方式进行操作的方法。你能得到的最接近的方法是一次“遍历”选择的一个字符,并测试它的类型--它是在一个表中吗?它的范围是否包含InlineShapes?但这将比简单地循环各种类型的集合要多得多的代码工作。而且它也会更慢。

更好的做法是列出规则,然后为每个规则编写代码……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30499741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档