|
Corel FORUM Forum użytkowników programów firmy Corel. Grafika wektorowa, rastrowa i obróbka zdjęć cyfrowych |
|
Makra - klopot z końcówką makra - kontur jako kształt + spawaj
Krzysztof83 - 29 Sierpień 2016, 18:16 Temat postu: klopot z końcówką makra - kontur jako kształt + spawaj Witam, tak jak w temacie,
mam problem z końcówką makra.
Makro zastosowane np. do prostokąta z konturem.
Chce zamienić kontur na kształt i zespawać z prostokątem.
Do tego momentu udało się , ale pozostają mi 3 elementy tzn.:
Prostokąt wyjściowy
Kontur
i Prostokąt zespawany
Jak zakończyć makro, aby usunął prostokąt wyjściowy i kontur?
Do czego makro potrzebne?
Wykonuje sporo operacji:
1.zamień kontur na krzywą
2. zespawaj
i chciałem to połączyć, traktuje to też jako wstęp do zapoznania się z makrami w CORELU.
Poniżej makro które udało mi się stworzyć:
Sub zmiananazwyrozloczzmiananazwy()
' Recorded 2016-08-29
Dim TymczasowaNazwa As Shape
Dim TymczasowaNazwaKrawedzi As Shape
Set TymczasowaNazwa = ActiveSelection
ActiveSelection.ObjectData("Name").Value = "Tymczasowa Nazwa"
Set TymczasowaNazwaKrawedzi = TymczasowaNazwa.Outline.ConvertToObject
TymczasowaNazwaKrawedzi.ObjectData("Name").Value = "Tymczasowa Nazwa Krawedzi"
Dim zespawany As Shape
Set zespawany = TymczasowaNazwa.Weld(TymczasowaNazwaKrawedzi, True, True)
zespawany.ObjectData("Name").Value = "krzywa"
'TymczasowaNazwa.Delete
'TymczasowaNazwaKrawedzi.Delete
End Sub
Pozdrawiam.
tomek123 - 31 Sierpień 2016, 10:59
przecież jak zespawasz to nie masz elementu wyjściowego, tylko wynikowy, nie trzeba nic usuwać, nie rozumiem?!? czy coś zostaje po zastosowaniu tego makra co trzeba usunąć?
Krzysztof83 - 31 Sierpień 2016, 14:24
tomek123 napisał/a: | przecież jak zespawasz to nie masz elementu wyjściowego, tylko wynikowy, nie trzeba nic usuwać, nie rozumiem?!? czy coś zostaje po zastosowaniu tego makra co trzeba usunąć? |
Nagrałem makro gdzie:
1. zamieniłem kontur obiektu na krzywą
2. zespawałem obiekt i i jego wydzielona krzywą.
Po takim działaniu zostają mi 3 elementy:
1 Obiekt wyjściowy ( bez konturu )
2. krzywa wydzielona z obiektu wyjściowego.
3. obiekt zespawany z obiektu dwóch powyższych
---------
OK
Chyba faktycznie coś pomieszałem, może to dlatego że nagrywałem makro w 2 częściach:
1. Zamiana konturu na krzywą
2. spawanie
Do tego coś majstrowałem ze zmianami nazwy obiektu.
I później to łączyłem.
To chyba dlatego.
Przepraszam za wypisywanie głupot
grzjanik - 19 Grudzień 2016, 15:10 Temat postu: Zrobione Skopiuj całość i przetestuj. Daj znać czy o to chodziło.
Kod: | Sub SpawaKonturZObiektem()
If ActiveSelection.Shapes.count = 0 Then MsgBox "Zaznacz obiekt": Exit Sub
Dim OrigSelection As ShapeRange
Set OrigSelection = ActiveSelectionRange
Dim s1 As Shape
Set s1 = OrigSelection(1).Outline.ConvertToObject
Dim s2 As Shape
Set s2 = s1.Weld(OrigSelection(1), True, True)
OrigSelection.Delete
s1.Delete
s2.OrderToFront
End Sub
| Pozdro. GrzJanik
|
|