我正在编写一个vba宏,用于检查word文档的格式是否正确以满足某些规范。我需要检查的一件事是每一行的左边距 - 不同的段落应该有不同的第一个缩进和悬挂缩进,具体取决于上下文。这应该像检查样式一样简单,但遗憾的是它不是 - 某些文档使用样式来更改缩进,但是其他文档使用手动空格和制表符来正确定位文本。所以我需要一些方法来检查每个Document.Paragraphs中第一个物理角色的实际物理位置。我没有问题获得段落中第一个可见字符的范围,但我不确定从边距(或从页面的左侧)获得距离 - 没有区别因为边距是一致的)。
我找到了Window.GetPoint方法,但我很担心使用它,因为这是基于屏幕上的实际物理位置。这个宏将在不同的计算机上使用,具有不同版本的单词,我不确定它是如何受到其他视图设置(如打印布局,缩放等)的影响。是否有一致的方法来使用它确定边距距离的方法?
另一种方法是(因为所有文档都在Courier New 12中)来查看样式的firstindent属性,并手动计算所有空格和制表符(但需要考虑tabstops) )。我也不知道该怎么做。 我认为应该有一个更简单的方法来做到这一点,但我找不到它,所以如果有人有任何建议我会非常感谢任何帮助。
答案 0 :(得分:2)
毕竟它在那里! Range.Information(wdHorizontalPositionRelativeToPage)