Makro-Nachhilfe für Funktionen für alle Objekte
#13
Hier nochmal mein leider schlechter Versuch eines Makros Smile.

Ich habe aufgenommen, wie ein *.ai geöffnet wird, möchte da einige Änderungen vornehmen und es dann ins aktuelle Dokument (egal welches) einfügen. Es klappt schon fast vollständig.

(Also das mit dem doppelten Einfügen hat sich immerhin erledigt, ich habe einmal die Datei mit Pfad im Code entfernt. So geht es nun.)


Aber die hier neu gelernten Zeilen kann ich natürlich nicht immer einfach so einfügen Smile. Es gibt einen Fehler "Typ nicht korrekt" bei dem Smoothing. Das RGB-Färben und Kontur auf 0 geht aber.

Bleiben am Ende des Tages also doch wieder nur zwei Fragen:
- wie kann ich das mit dem Smoothing hier im Code korrigieren?
- steht hinter der Schaltfläche "Knoten reduzieren" nur Autoreduce oder mehr?


Code:
Sub opencopy()
    ' Recorded 30.06.2024
    Dim lr1 As Layer
    Set lr1 = ActiveDocument.Pages(1).CreateLayer("Ebene 1")
    ' Recording of this command is not supported
    Dim impopt As StructImportOptions
    Set impopt = CreateStructImportOptions
    impopt.MaintainLayers = True
    
    Dim s1 As Shape
    Set s1 = ActiveShape
    Dim grp1 As ShapeRange
    Set grp1 = ActiveSelection.UngroupEx
    Dim openopt As StructOpenOptions
    Set openopt = CreateStructOpenOptions
    With openopt.ColorConversionOptions
        .SourceColorProfileList = "sRGB IEC61966-2.1,ISO Coated v2 300% (ECI),Dot Gain 15%"
        .TargetColorProfileList = "sRGB IEC61966-2.1,ISO Coated v2 300% (ECI),Dot Gain 15%"
    End With
    Dim doc1 As Document
    Set doc1 = OpenDocumentEx("C:\objekt.ai", openopt)


        ActivePage.SelectableShapes.All.CreateSelection
    For Each s In ActiveSelection.Shapes: s.Curve.Nodes.All.Smoothen 20: Next
       ActiveSelection.Outline.SetProperties Color:=CreateRGBColor(0, 0, 0)
ActiveSelection.Outline.SetProperties Width:=0


    grp1.Copy
    doc1.Close
    Dim pasteopt As StructPasteOptions
    Set pasteopt = CreateStructPasteOptions
    With pasteopt.ColorConversionOptions
        .SourceColorProfileList = "sRGB IEC61966-2.1,ISO Coated v2 300% (ECI),Dot Gain 15%"
        .TargetColorProfileList = "sRGB IEC61966-2.1,ISO Coated v2 300% (ECI),Dot Gain 15%"
    End With
    Dim Paste1 As ShapeRange
    Set Paste1 = ActiveDocument.Pages(1).Layers("Ebene 1").PasteEx(pasteopt)
End Sub
(ich habe die neu eingefügten Zeilen hier nochmal etwas abgesetzt / hervorgehoben, einfärben geht im Code hier nicht)

Betriebssystem / Grafik-Software: Windows 10, CorelDraw Suite 2023
Zitieren



Nachrichten in diesem Thema
RE: Makro-Nachhilfe für Funktionen für alle Objekte - von asterix - 01.07.2024, 21:20

Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Objekte sortieren und verschieben Karthagos 6 763 24.11.2024, 17:24
Letzter Beitrag: Piet
  Mehrere Objekte gleichzeitig drehen, um die eigene Achse klj 10 4.707 21.11.2024, 11:58
Letzter Beitrag: Anguel
  Erweiterte PNG Export-Funktionen per Makro möglich? asterix 0 258 01.11.2024, 00:08
Letzter Beitrag: asterix
  alle Objekte eines bestimmten Farbmodells auswählen asterix 16 2.390 08.08.2024, 22:25
Letzter Beitrag: asterix
  Makro selbst aufnehmen Karthagos 17 1.863 04.07.2024, 06:54
Letzter Beitrag: Karthagos
  VBA Objekte ausrichten fremoikaner 12 1.819 06.06.2024, 14:30
Letzter Beitrag: koter
  History (zuletzt geöffnete Objekte) Wild Thinng 1 496 23.05.2024, 17:25
Letzter Beitrag: miss_marple
  Mini-Objekte innerhalb einer Gruppe fassen und löschen migo 10 1.480 27.03.2024, 09:35
Letzter Beitrag: Boerni
  Objekte positionieren Sandfloh 2 737 23.03.2024, 18:12
Letzter Beitrag: Sandfloh
  Objekte und Punkte verbinden Herbert_M 2 666 05.02.2024, 20:17
Letzter Beitrag: norre