从VBA或C#Interop获取Microsoft Word中的文本位置

时间:2012-04-15 20:35:13

标签: c# vba ms-word interop position

我想访问Microsoft Word中每个不可分割单元的位置和大小。此类单位的示例包括单个字符,图像等。

目的是根据单位位置和大小应用视觉叠加。我不了解目标文件中的内容。

想象一下word文档中这个问题的文本。我需要能够迭代每个字符,包括空格和回车符,并获得大小和位置。

修改
您的答案是否考虑宏,互操作,加载项或OLE嵌入无关紧要。

1 个答案:

答案 0 :(得分:3)

检索对象显示坐标的方法是Window.GetPoint(办公室互操作版本的链接,VBA中的相同内容)。

对于“不可分割的单位”,您可以使用可用的集合将您想要的任何含义放入其中 例如,如果您希望它是字符,则可以使用Document.Range.Characters,这是一组字符,每个字符都是Range
或者,您可以将Document.Range.InlineShapes用于作为文本一部分的图片 或Document.Range.ShapeRange枚举“浮动”形状。

此时你可能会考虑Window.RangeFromPoint从窗口坐标中找出一个对象。