Мне было интересно, есть ли более специфический способ переименовать мою форму, извлеченный из эффекта контура, чем использование 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```