Задать вопрос
@HammerZeit

Corel Draw VBA как объединить кривые?

Здравствуйте!
Мне нужно сделать weld для нескольких кривых и потом разъединить кривую на отдельные (ctrl+K).
Средство записи макросов работает для частного случая, на других кривых макрос уже не действует.
6194c5f7b7a73075580299.jpeg
Sub Macro1()
    Dim OrigSelection As ShapeRange
    Set OrigSelection = ActiveSelectionRange
    Dim s1 As Shape
    Set s1 = OrigSelection(2).Weld(OrigSelection(1), True, True)
    OrigSelection(1).Delete
    OrigSelection(2).Delete
    Dim brk1 As ShapeRange
    Set brk1 = s1.BreakApartEx
End Sub
  • Вопрос задан
  • 389 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
@HammerZeit Автор вопроса
Да, неверно выразился - не другие кривые, а другое количество кривых. В моем макросе их 2 и третью кривую он не обрабатывает. Если сделать макрос для 3 кривых и подсунуть ему 2 - будет ошибка
6195e568573d4198364574.jpeg
619619704e6c2074212673.jpeg
Ответ написан
@shmaroder
https://creditpower.ru
Похоже? 100 лет не брал в руки VB.

Sub Macro1()
    Dim OrigSelection As ShapeRange
    Set OrigSelection = ActiveSelectionRange
    Dim s1 As Shape
    Dim count As Integer
    count = OrigSelection.count
    Set s1 = OrigSelection(count)
    For i = count - 1 To 1 Step -1
        Set s1 = s1.Weld(OrigSelection(i), True, True)
    Next i
    OrigSelection.Delete
    Dim brk1 As ShapeRange
    Set brk1 = s1.BreakApartEx
End Sub


61961a2b0e53d152213134.jpeg
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы