gpt4 book ai didi

vba - Visio VBA 函数,查看形状前面/后面是否有形状

转载 作者:行者123 更新时间:2023-12-01 01:38:29 25 4
gpt4 key购买 nike

Visio VBA 中有没有办法查看 Visio 中的形状前面或后面是否有形状?

我想我可以写一些东西来检查页面中每个形状的边界框,看看它是否与我的形状占据相同的空间。
我宁愿使用内置的东西,因为随着绘图的形状越来越多,检查每个形状可能需要很长时间。

最佳答案

Shape.SpatialRelation 属性会告诉您两个形状是否接触。 Shape.Index 属性将告诉您在 z 顺序中哪个位于前面或后面。

这是一个简单的例子:

Public Sub DoShapesIntersect(ByRef shape1 As Visio.Shape, ByRef shape2 As Visio.Shape)

'// do they touch?
If (shape1.SpatialRelation(shape2, 0, 0) <> 0) Then

'// they touch, which one is in front?
If (shape1.Index > shape2.Index) Then
Debug.Print shape1.Name + " is in front of " + shape2.Name
Else
Debug.Print shape1.Name + " is behind " + shape2.Name
End If
Else
Debug.Print "shape1 and shape2 do not touch"
End If

End Sub

在此处阅读更多信息:

Shape.SpatialRelation Property on MSDN

关于vba - Visio VBA 函数,查看形状前面/后面是否有形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/154408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com