Juergens-Workshops.de Forum
Makro - Text an Rechteck ausrichten - Druckversion

+- Juergens-Workshops.de Forum (https://forum.juergens-workshops.de)
+-- Forum: Corel Grafik Forum (https://forum.juergens-workshops.de/forumdisplay.php?fid=65)
+--- Forum: Corel Draw (https://forum.juergens-workshops.de/forumdisplay.php?fid=93)
+--- Thema: Makro - Text an Rechteck ausrichten (/showthread.php?tid=38636)



Makro - Text an Rechteck ausrichten - benni313 - 29.01.2024

Hallo zusammen,

ich bin bisher nicht besonders in die Makro-Welt vertraut.

Ich möchte gerne einen Text in ein Rechteck zentrieren und dann in einem zusammengeführten Seriendruck-Dokument auf alle Seiten anwenden.

Ich habe nun ein Makro aufgezeichnet (mit Ausrichten und verteilen) und bereits Teilerfolge erzielt.

Code:
Sub Macro1()
   ' Recorded 29.01.2024
   ActiveDocument.CreateShapeRangeFromArray(ActiveLayer.Shapes(3), ActiveLayer.Shapes(1)).AlignAndDistribute 3, 3, 0, 1, False, 2
End Sub

Hiermit funktioniert es aber leider immer nur auf der angewählten ausgewählten Seite.

Meine beiden Objekte heißen "Text" und "Rechteck1". Sie sind natürlich auf allen Seiten identisch.

Wie schaffe ich es, dass "Text" an "Rechteck1" horizontal und vertikal zueinander ausgerichtet sind. Und zwar auf alle Seiten des Dokuments?

Vielen Dank für eure Unterstützung.
Benni


RE: Makro - Text an Rechteck ausrichten - Litschi - 30.01.2024

Code:
Sub Macro1()
  For i = 1 To ActiveDocument.Pages.count
     ' hier dein Code

  Next i
End Sub



RE: Makro - Text an Rechteck ausrichten - benni313 - 30.01.2024

(30.01.2024, 09:20)Litschi schrieb:
Code:
Sub Macro1()
  For i = 1 To ActiveDocument.Pages.count
     ' hier dein Code

  Next i
End Sub

Vielen leiben Dank!
Es funktioniert leider wieder nur auf der aktuell angewählten Seite.

Hier mein kompletter aktueller Code
Code:
Sub Macro1()
     For i = 1 To ActiveDocument.Pages.Count
     ActiveDocument.CreateShapeRangeFromArray(ActiveLayer.Shapes(3), ActiveLayer.Shapes(1)).AlignAndDistribute 3, 3, 0, 1, False, 2
 Next i
End Sub



RE: Makro - Text an Rechteck ausrichten - benni313 - 30.01.2024

Kann ich auch die auszuwählenden Objekte direkt ansprechen? Vielleicht liegt es daran.


RE: Makro - Text an Rechteck ausrichten - koter - 31.01.2024

Hallo Benni,

(30.01.2024, 16:27)benni313 schrieb: Kann ich auch die auszuwählenden Objekte direkt ansprechen?...

Ja, das geht:

Code:
Sub TextAufRechteckMitte()
   Dim xRechteck As Shape, xText As Shape
   Dim Seite As Page
   
   For Each Seite In ActiveDocument.Pages
       Set xRechteck = Seite.Shapes("Rechteck1")
       Set xText = Seite.Shapes("Text")
       With xText
           .CenterX = xRechteck.CenterX
           .CenterY = xRechteck.CenterY
       End With
   Next
   
   Application.Refresh
End Sub

Bei den Set-Anweisungen werden die Objekte direkt angesprochen (in den Kammern).

Gruß

Koter


RE: Makro - Text an Rechteck ausrichten - benni313 - 31.01.2024

Das war es! Vielen lieben Dank für die Unterstützung!