Corel FORUM
Forum użytkowników programów firmy Corel. Grafika wektorowa, rastrowa i obróbka zdjęć cyfrowych

Makra - Wklejanie do symboli

Bałuty1908 - 19 Styczeń 2022, 13:01
Temat postu: Wklejanie do symboli
Witam,

próbuje poskładać sobie większe makro,które pomoże mi w robocie. Nie umiem napisać fragmentu który odpowiadałby za wklejenie obiektu ze schowka (o nazwie"przod1") do symbolu (prod1) wkadrowanego dodatkowo w obiekt prod1b. Makro Zatrzymuj się na symbolu (nie może go znaleźć)

z góry dziękuje za pomoc


Poniżej to co ułożyłem
"
Sub Macro3()
' Recorded 2022-01-19
Dim OrigSelection As ShapeRange
Set OrigSelection = ActiveSelectionRange
ActiveLayer.Shapes("calyprzod").Cut
ActiveLayer.Shapes("prod1b").PowerClip.EnterEditMode
ActiveShape.Shapes("prod1").PowerClip.EnterEditMode
Dim pasteopt As StructPasteOptions
Set pasteopt = CreateStructPasteOptions
With pasteopt.ColorConversionOptions
.SourceColorProfileList = "sRGB IEC61966-2.1,ISO Coated v2 (ECI),Dot Gain 15%"
.TargetColorProfileList = "sRGB IEC61966-2.1,ISO Coated v2 (ECI),Dot Gain 15%"
End With
Dim Paste1 As ShapeRange
Set Paste1 = ActiveDocument.Pages(1).Layers("Symbole").PasteEx(pasteopt)
ActiveDocument.CreateShapeRangeFromArray(ActiveDocument.Pages(1).Layers("Symbole").Shapes("calyprzod"), Paste1).AlignAndDistribute 3, 3, 0, 0, False, 2
ActiveShape.Shapes("prod1").PowerClip.LeaveEditMode
ActiveLayer.Shapes("prod1b").PowerClip.LeaveEditMode
ActiveLayer.Shapes("calytyl").Cut
ActiveLayer.Shapes("prodtyl").PowerClip.EnterEditMode
ActiveShape.Shapes("prod2").PowerClip.EnterEditMode
Set pasteopt = CreateStructPasteOptions
With pasteopt.ColorConversionOptions
.SourceColorProfileList = "sRGB IEC61966-2.1,ISO Coated v2 (ECI),Dot Gain 15%"
.TargetColorProfileList = "sRGB IEC61966-2.1,ISO Coated v2 (ECI),Dot Gain 15%"
End With
Dim Paste2 As ShapeRange
Set Paste2 = ActiveDocument.Pages(1).Layers("Symbole").PasteEx(pasteopt)
ActiveDocument.CreateShapeRangeFromArray(ActiveDocument.Pages(1).Layers("Symbole").Shapes("calytyl"), Paste2).AlignAndDistribute 3, 3, 0, 0, False, 2
ActiveShape.Shapes("prod2").PowerClip.LeaveEditMode
ActiveLayer.Shapes("prodtyl").PowerClip.LeaveEditMode
End Sub

"

Pracuje na corelu2018 i nie mam za bardzo pojęcia o VBA więc bazuje na tym co sobie nagram albo wypatrze tu na forum.

Martin Nez - 19 Styczeń 2022, 17:27

Witaj,
Nagrywanie robi sporo bałaganu w kodzie, praktycznie zawsze trzeba go później posprzątać. Podrzuć plik źródłowy tak, aby można było sprawdzić jak to działa.Będzie dużo prościej.

Pozdr,
MN

Bałuty1908 - 20 Styczeń 2022, 06:24

Dzięki
Poniżej plik

Ogólnie z tego co widzę makro ma problem z edycją symbolu (chyba nie może go znaleźć). Z resztą jak nagrywałem to w uproszczeniu też wyskakiwał mi ten sam problem czyli ta linijka:

ActiveShape.Shapes("prod1").PowerClip.EnterEditMode

Martin Nez - 21 Styczeń 2022, 20:57

Niestety nie ogarnę tego na szybko, nigdy nie korzystałem z szybkich kadrów i symboli, więc nie wiem jak się ich używa w makrach. Może ktoś inny coś podpowie, albo zajrzę do tego jeszcze kiedyś na spokojnie.

Pozdr,
MN


Powered by phpBB modified by Przemo © 2003 phpBB Group