3

我正在编写一个 vba 宏来检查 word 文档的格式是否正确以满足某些规范。我必须检查的一件事是每行的左边距 - 不同的段落应该有不同的首缩进和悬挂缩进,具体取决于上下文。这应该像检查样式一样简单,但不幸的是它不是 - 一些文档使用样式来更改缩进,但其他文档使用手动空格和制表符来正确定位文本。所以我需要一些方法来检查每个 Document.Paragraphs 中第一个物理字符的实际物理位置。我可以毫无问题地获得段落中第一个可见字符的范围,但我不确定从页边距(或从页面左侧)的距离 - 没有

我找到了 Window.GetPoint 方法,但使用它我很紧张,因为那是基于屏幕上的实际物理位置。这个宏将在不同的计算机上使用,具有不同的 word 版本,我不确定它如何受其他视图设置(如打印布局、缩放等)的影响。是否有一致的方法来使用它确定距边距的方法?

另一种方法是(因为所有文档都在 Courier New 12 中)查看样式的 firstindent 属性,并手动计算所有空格和制表符(但这需要考虑制表位)。这我也不知道该怎么做。我认为应该有一种更简单的方法来做到这一点,但我找不到它,所以如果有人有任何建议,我将非常感谢任何帮助。

4

1 回答 1

3

毕竟它就在那里!Range.Information(wdHorizontalPositionRelativeToPage)

于 2013-08-08T19:50:25.863 回答