首页 > 解决方案 > VBA - 如何找到从效果创建的形状的名称?

问题描述

我想知道是否有比使用 ActiveLayer.Shapes(2) 更具体的方法来重命名从轮廓效果中提取的形状?我不喜欢这种方法的主要原因是它很笼统,而且我担心在某个地方它可能不再是 Shape(2),从而导致问题。我希望通过名称来定义它,但我不知道那是什么,因为它是通过效果创建的。

是否有偶然的功能或东西来查找未知的形状名称?

我找到了.findeshape,但我无法让它工作,我不确定这是否是我在这种情况下真正需要的。任何帮助表示赞赏。

'Create Rectangle
    Set Rect = ActiveLayer.CreateRectangle(1, 1, 0, 0)

'Apply .1" Outside Contour.
    Set Contour1 = ActiveLayer.Shapes(1).CreateContour(cdrContourOutside, 0.1, 1, cdrDirectFountainFillBlend, CreateCMYKColor(75, 68, 65, 90), CreateCMYKColor(0, 0, 0, 100), CreateCMYKColor(0, 0, 0, 100), 0, 0, cdrContourSquareCap, cdrContourCornerMiteredOffsetBevel, 15#)
    ActiveDocument.CreateSelection Contour1.Contour.ContourGroup, ActiveLayer.Shapes(1)
    ActiveSelection.Separate
    ActiveLayer.Shapes(2).ObjectData("Name").Value = "Renamed 2"
End Sub```

标签: vbadraw

解决方案


推荐阅读