Visio 形状 - 获取 X、Y 位置

2024-01-30

我已成功使用以下代码以编程方式将形状插入到 Visio 中:

ActiveWindow.Page.Drop(VisioApp.Documents["ORGCH_M.VSS"].Masters.ItemU["Executive"], 5.433071, 7.559055);

插入形状后,我如何以编程方式检索它的 X、Y 坐标?

Thanks!


要获取新形状的坐标,首先获取对新形状的引用。页面下降 http://msdn.microsoft.com/en-us/library/aa224597%28v=office.11%29.aspx将返回此引用。然后在该形状对象中查找其PinX http://msdn.microsoft.com/en-us/library/aa221220%28office.11%29.aspx and PinY http://msdn.microsoft.com/en-us/library/aa221225%28v=office.11%29.aspx细胞。这将为您提供 Visio 默认单位(即英寸)的坐标。下面是 VBA 中的一个示例:

Dim newShape As Visio.Shape
Dim x As Double
Dim y As Double

Set newShape = ActiveWindow.Page.Drop(Visio.Application.Documents("ORGCH_M.VSS")
                    .Masters.ItemU("Executive"), 5.433071, 7.559055)

x = newShape.Cells("PinX")
y = newShape.Cells("PinY")

我注意到您正在使用公制绘图(即文件名中的 _M)。您可能更喜欢在不同的单位工作。这是使用毫米的相同示例:

Dim newShape As Visio.Shape
Dim xIn As Double
Dim yIn As Double
Dim xOut As Double
Dim yOut As Double

xIn = Visio.Application.ConvertResult(100, visMillimeters, visInches)
yIn = Visio.Application.ConvertResult(120, visMillimeters, visInches)

Set newShape = ActiveWindow.Page.Drop(Visio.Application.Documents("ORGCH_M.VSS")
                    .Masters.ItemU("Executive"), xIn, yIn)

xOut = newShape.Cells("PinX").Result(visMillimeters)
yOut = newShape.Cells("PinY").Result(visMillimeters)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Visio 形状 - 获取 X、Y 位置 的相关文章

随机推荐

  • 意外删除了 Xaml 文件的隐藏代码。如何再次添加后面的代码?

    我没有错误地排除它 而是删除了 Xaml 文件背后的 cs 代码 现在 我不知道如何添加后面的代码 该窗口是空的 上面没有 UI 控件 查看代码 被禁用 我在任何地方都看不到此 xaml 的事件 闪电图标 请帮忙 有两个必需步骤和一个可选步
  • 在 MATLAB 中处理 Kinect 深度数据

    所以我使用 Kinect 获取了一些深度图像 现在将它们保存起来 那么如果我想处理这个深度图像以获得Z值 即物体到Kinect的距离 我应该怎么做 我一直在网上进行一些研究 发现我需要将图像保存为 16 位深度图像才能存储深度值 而不是只能
  • 未调用自定义 UITableVIewCell 初始化

    我有带有一些图像和标签的自定义 UiTablleviewCell 并且我想在 tableview 单元格中旋转标签 所以我想编辑 initWithStyle 方法 但似乎从未调用过它 id initWithStyle UITableView
  • 根据 groupby 之后其他列中的值之间的数据帧范围对单独的列求和

    我有一个数据框如下 id Supply days days 180 1 30 0 180 1 100 183 363 1 80 250 430 2 5 0 180 2 5 10 190 3 5 0 180 3 30 100 280 3 30
  • JQGrid是免费的吗?

    从以下位置下载 JQGrid js 文件http www trirand com blog http www trirand com blog 免费吗 这是什么http www trirand net demoaspnetmvc aspx
  • 安卓屏幕分辨率

    Android 中已经定义了一些屏幕分辨率 他们是 QVGA 240 320 低密度 小屏幕 WQVGA 240 400 低密度 普通屏幕 FWQVGA 240 432 低密度 普通屏幕 HVGA 320 480 中等密度 普通屏幕 WVG
  • NameError:Python 中未定义名称“reduce”

    我正在使用Python 3 2 尝试过这个 xor lambda x y x y 2 l reduce xor 1 2 3 4 并得到以下错误 l reduce xor 1 2 3 4 NameError name reduce is no
  • 什么可能导致 MSIExec 错误 1619“无法打开此安装包”

    我正在尝试从一组示例程序中自动执行一组 MSI 文件 由 WiX 生成 的往返安装和卸载 由于某种原因 双击后会生成一个非常适合安装的 MSI 文件 无法打开该安装包 验证该包是否存在并且您可以访问它 或者联系应用程序供应商以验证这是否是有
  • 在后台获取核心数据

    我有一个带有表视图的导航视图 当单击一行时 行索引路径将传递到下一个视图 在详细信息视图 viewDidLoad 中 我正在从 Core Data 获取数据 我使用从应用程序委托中获取 appDelegate loadItem i 正如你所
  • publicId 和 systemId 之间需要空格

    我试图通过在 jsp 中编写一些代理代码来从我的计算机本地对其他域进行 ajax 调用 这是我调用 proxy jsp 页面的 jQuery AJAX 代码 var metadata https rest search host com m
  • 是否可以从 clickhouse 表中删除旧记录?

    据我所知 clickhouse只允许插入新数据 但是是否可以删除早于某个时间段的块以避免硬盘溢出 轻量级删除 自 v22 8 起可用 MergeTree 表的标准 DELETE 语法已在 37893 https github com Cli
  • 不存在的列不应破坏 select 中的 sql 查询

    就我而言 有不同的数据库版本 SQL Server 例如我的桌子orders有专栏htmltext在版本 A 中 但在版本 B 中列htmltext不见了 Select order id order date htmltext from o
  • 在迭代器中访问 C# 基类会导致 ReSharper 警告

    我有两节课GenericList and SpecificList where SpecificList继承自GenericList GenericList实施IEnumerable
  • WCF双工服务通道关闭

    我有一个基于 WCF Duplex 服务的应用程序 当用户 重新启动 应用程序所做的工作时 我遇到问题 在后台 客户端关闭与 WCF 服务的连接并创建另一个连接 服务合同的定义如下 ServiceContract Namespace net
  • Spark/Scala 中将 RDD 转换为 Dataframe

    RDD 已按以下格式创建Array Array String 并具有以下值 val rdd Array Array String Array Array 4580056797 0 2015 07 29 10 38 42 0 1 1 Arra
  • Python 3.4:cStringIO 与 StringIO

    QUESTION 我返回一个 ImportError 没有名为 cStringIO 的模块 不幸的是 cStringIO 不再存在 我需要使用 StringIO 作为替代品 我怎样才能做到这一点 import edgar import ft
  • 在 Jinja 模板中使用 Ansible 控制主机的 IP 地址

    我想将 IP 地址插入到 Ansible playbook 使用的 J2 模板中 该IP地址是not正在配置的主机的地址 以及完成配置的主机的 IP 到目前为止我发现的所有内容都涵盖了使用与所配置的主机相关的变量 事实 换句话说 我要插入的
  • .NET 4.0 与 3.5 运行时性能

    现在 VS2010 已处于 RC 状态 距离 2 0 以来第一个新 核心 运行时版本的发布似乎只剩下几周的时间了 虽然我没有立即升级的需求 但我想知道是否有人在两者之间进行了一些性能测试 基准测试 如果有任何明显的性能提升 那么重新编译现有
  • “FirebaseAnalytics.Param.SIGN_UP_METHOD”无法在控制台中保存“值”以及“事件名称”

    我正在使用此代码来分析用户正在使用的sign up方法 Bundle bundle new Bundle bundle putString FirebaseAnalytics Param SIGN UP METHOD sign up met
  • Visio 形状 - 获取 X、Y 位置

    我已成功使用以下代码以编程方式将形状插入到 Visio 中 ActiveWindow Page Drop VisioApp Documents ORGCH M VSS Masters ItemU Executive 5 433071 7 5