仅选择动态范围内的某些形状

时间:2016-04-08 17:34:22

标签: vba coreldraw

在这里看到的代码:

Dim i As Long
Dim s, s2 As Shape
Dim sr As ShapeRange
Dim DupCounter As Integer

DupCounter = 1

Do Until DupCounter > QUANTITY
sHape1.Duplicate

ActivePage.Shapes.All.CreateSelection

Set sr = ActiveSelectionRange

For i = 1 To sr.COUNT

    Set s = sr(i)

    If i = 1 Then
    s.SetPosition 0, 0

    ElseIf i <> 1 Then
    s.SetPosition s2.PositionX, (s2.PositionY + (s2.SizeHeight / 2) + 0.35 + (s.SizeHeight / 2))

    End If

    Set s2 = s
    Next i

    DupCounter = DupCounter + 1

    Loop

Shape1来自导入。代码完成了我想要它做的事情,它根据前面出现的形状的位置定位每个新形状。大多数人都可以看到的问题是,它还会重新定位页面上的每个形状,每个新导入或重复。我需要一种方法让宏重新定位新导入的形状。有没有办法让代码取消选择所有形状,除了新的形状和之前带来的on?

1 个答案:

答案 0 :(得分:1)

我找到了GDG的一个教程,该教程展示了通过搜索静态ID来查找形状的方法。你可以在这里观看 - &gt; http://community.coreldraw.com/talk/coreldraw_graphics_suite_x6/f/704/t/35486

约翰很棒。