Makro - Text an Rechteck ausrichten
#1
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
Zitieren
#2
Code:
Sub Macro1()
  For i = 1 To ActiveDocument.Pages.count
     ' hier dein Code

  Next i
End Sub
[-] 1 Benutzer bedankt sich bei Litschi für diesen Beitrag:
  • benni313
Zitieren
#3
(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
Zitieren
#4
Kann ich auch die auszuwählenden Objekte direkt ansprechen? Vielleicht liegt es daran.
Zitieren
#5
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
[-] 1 Benutzer bedankt sich bei koter für diesen Beitrag:
  • benni313
Zitieren
#6
Das war es! Vielen lieben Dank für die Unterstützung!
Zitieren



Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Corel Draw 2019 Text vertikal nilaschmi 5 164 14.02.2024, 17:53
Letzter Beitrag: skifan
  Textverarbeitung erscheint ein Rechteck???? Peter Kastl 11 4.855 08.02.2024, 19:18
Letzter Beitrag: KHR_1942
  Corel importiert Text aus PDF nur noch als Sonderzeichen Kay_Maehnert 0 206 10.11.2023, 18:36
Letzter Beitrag: Kay_Maehnert
  Häkchen bei "An Hilfslinie ausrichten" fixieren martens 15 812 16.10.2023, 18:55
Letzter Beitrag: martens
  Textzeilen in einzelne Text-Objekte aufteilen Karthagos 8 615 01.05.2023, 10:34
Letzter Beitrag: Karthagos
  Text mit innerem Umriss mtemp 2 387 16.03.2023, 07:35
Letzter Beitrag: Piet
  Grafik per Makro Exportieren Chrisbeee 10 1.146 10.02.2023, 00:54
Letzter Beitrag: Chrisbeee
  Text in russisch OsCor 3 663 20.11.2022, 14:30
Letzter Beitrag: OsCor
Photo Bogenschrift am Objekt ausrichten ist weg ? panzerauto 6 943 08.08.2022, 18:24
Letzter Beitrag: panzerauto
Photo Kreis erhält nach Export über Makro als DXF sehr viele Knotenpunkte Olaf 4 1.011 22.06.2022, 08:34
Letzter Beitrag: Olaf