【问题标题】:Is there a way to refer a shape's position to the ruler?有没有办法将形状的位置引用到标尺?
【发布时间】:2022-03-15 18:23:03
【问题描述】:

我想从 Visio 绘图中提取数据。

我无法控制的各种图纸是使用“标题”时间线的原则构建的,这些时间线由代表一段时间的方框定义(例如,12 个方框可能代表一年,也可能代表 3 年 - 月或宿舍)。

框下方的形状代表不同的活动,其持续时间由形状的长度定义(使用“标题”时间轴作为比例)。

我需要提取活动的文本并指定开始和结束日期。

我能找到的唯一方法是 PinX/PinY。 PinX 的问题在于它代表“旋转中心”,而这不必在形状内。我发现在绘图上有很多形状的复制和粘贴,PinX 有一个移动的习惯。

理想的解决方案是使用标尺作为参考。

【问题讨论】:

  • 我突然想到将 PinX 属性强制设置为默认值; Centre-Centre 和 LocPinX 到 width*0.5(对于重要的形状)可以解决问题。我会尝试这个并报告回来,但我仍然想知道是否可以定义相对于标尺的形状“X”位置。
  • 我现在更加困惑了。例如,我有 2 个形状(都在同一层上,并且在所有情况下 Pin Pos 都是 Centre-Centre,LocPinX 是 0.5*width 和 XRulerOrigin = 13mm)。两种形状都是矩形,两种形状的左侧都位于标尺 0),因此简单的数学表明在每种情况下 PinX - LocPinX 应该产生相同的结果。不是为什么???

标签: vba position visio


【解决方案1】:

我认为标尺不是您想要使用的。可以移动标尺的原点以帮助绘图。我认为您想要的是形状的可见几何图形相对于页面坐标系的位置。 BoundingBox 方法将为您提供一个坐标矩形,该矩形将相对于页面的形状紧密地包围起来。

【讨论】:

  • 谢谢 HappyMoose - 这看起来是个不错的解决方案。虽然事实证明 PinX 属性是独立于 Ruler 的。
  • @Nigel你是指绘图窗口顶部和左侧的水平和垂直标尺还是编辑文本时可能出现在形状上方的小标尺?
猜你喜欢
  • 1970-01-01
  • 2019-09-25
  • 1970-01-01
  • 1970-01-01
  • 2016-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多