Visio VBA 获取文本的边界框



我在 Visio 中有一个形状,它是一个组。 可以编辑组合形状的文本,编辑时,我希望其中一个子形状位于组合形状中文本的右侧。

为此,我创建了一个 VBA 函数,该函数将组形状作为参数,并在形状表上的 TextText 事件中调用该函数。

因此,例程只需在组合形状上调用 BoundingBox(visBBoxUprightText) 以获取文本的边界并找到 bbox 右侧的子形状。 但界限似乎是错误的。 它们有时会回到最后一个字符的左侧或右侧。

visBBoxUprightText 标志是否应该表示除了在呈现的文本字符周围获取矩形坐标之外的其他含义?

编辑:再研究一下,我看到 BoundingBox 方法查看 shape.type 属性以确定边界框包含的内容。 如果形状类型是 visGroup,那么它也将包括子形状,并且似乎没有标志强制它将组视为一个简单的形状。

所以我想现在的问题是,有没有办法获取文本的边界框,忽略子形状? 我尝试放置一个单独的子形状来容纳文本,现在它就像一个魅力。

Visio 不允许您获取文本的边界框,同时忽略组合形状中子形状的文本。

相关内容

  • 没有找到相关文章

最新更新