VBA Objekte ausrichten
#7
Hallo Fremoikaner,

ich habe Deinen Code verändert und die Anzahl der Variablen reduziert:

Code:
Sub rechteck2()
   Dim Abstand As Double
   Dim sTxt As New Shape, s2 As Shape, sAw As Shape
   Dim strName As String
   
   If ActiveSelection.Shapes.Count = 0 Then Exit Sub
   ActiveDocument.BeginCommandGroup "Beschriften"
   
   ActiveDocument.ReferencePoint = cdrCenter
   Abstand = 0.05
   strName = "Beschriftung"
   strName = InputBox("Name: ", "Name eingeben oder Eingabe für keinen Namen", strName)
   If strName = "" Then Exit Sub
   
   Set sAw = ActiveSelectionRange.Group
   Set sTxt = ActiveLayer.CreateArtisticText(0, 0, strName)
   With sTxt.Text.Story
       .Font = "1451_Eng_DB"
'        .Font = "DIN 1451 Engschrift"
       .Alignment = cdrCenterAlignment
       .Size = 8
   End With
   
   If sAw.SizeWidth > sAw.SizeHeight Then
       If sTxt.SizeWidth > sAw.SizeWidth Then
           sTxt.SizeWidth = sAw.SizeWidth
           sTxt.SizeHeight = sTxt.SizeHeight * sTxt.AbsoluteHScale
       End If
       sTxt.AlignToShape cdrAlignHCenter, sAw
       sTxt.PositionY = Abstand + sAw.PositionY + (sAw.SizeHeight + sTxt.SizeHeight) / 2
   Else ' Text drehen
       If sTxt.SizeWidth > sAw.SizeWidth Then
           sTxt.SizeWidth = sAw.SizeHeight
           sTxt.SizeHeight = sTxt.SizeHeight * sTxt.AbsoluteHScale
       End If
       With sTxt
       sTxt.AlignToShape cdrAlignVCenter, sAw
       sTxt.PositionX = sAw.PositionX - Abstand - (sAw.SizeWidth + sTxt.SizeHeight) / 2
       sTxt.Rotate 90
       End With
   End If
   
   If sAw.Type = cdrGroupShape Then
       sTxt.OrderFrontOf sAw.Shapes(1)
   Else
       sAw.AddToSelection
       Set sAw = ActiveSelection.Group
   End If
   
   ActiveDocument.ReferencePoint = cdrBottomLeft
   Set s2 = ActiveLayer.CreateRectangle2(sAw.PositionX - Abstand, sAw.PositionY - Abstand, _
   sAw.SizeWidth + Abstand * 2, sAw.SizeHeight + Abstand * 2)
   ActiveDocument.ReferencePoint = cdrCenter
   
   s2.Outline.Color.CMYKAssign 0, 0, 0, 100
   s2.OrderBackOf sAw.Shapes(sAw.Shapes.Count)
   
   ActiveDocument.EndCommandGroup
End Sub

Ich habe auf die BoundingBox und einen expliziten ShapeRange verzichtet.

Wenn ich Deine Beschreibung richtig verstanden habe, sollte es so auch mit X3 funktionieren.
(ich habe X3 nicht, kann es also leider nicht testen)

Gruß

Koter
[-] 1 Benutzer bedankt sich bei koter für diesen Beitrag:
  • fremoikaner
Zitieren



Nachrichten in diesem Thema
VBA Objekte ausrichten - von fremoikaner - 19.05.2024, 10:19
RE: VBA Objekte ausrichten - von koter - 19.05.2024, 14:01
RE: VBA Objekte ausrichten - von fremoikaner - 19.05.2024, 14:47
RE: VBA Objekte ausrichten - von fremoikaner - 19.05.2024, 15:22
RE: VBA Objekte ausrichten - von koter - 19.05.2024, 17:00
RE: VBA Objekte ausrichten - von fremoikaner - 20.05.2024, 16:09
RE: VBA Objekte ausrichten - von koter - 21.05.2024, 00:20
RE: VBA Objekte ausrichten - von fremoikaner - 21.05.2024, 16:37
RE: VBA Objekte ausrichten - von koter - 21.05.2024, 17:52
RE: VBA Objekte ausrichten - von fremoikaner - 22.05.2024, 17:34
RE: VBA Objekte ausrichten - von fremoikaner - 31.05.2024, 09:48
RE: VBA Objekte ausrichten - von fremoikaner - 02.06.2024, 17:41
RE: VBA Objekte ausrichten - von koter - 06.06.2024, 14:30

Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Objekte umfließen HMittermayr 36 5.320 09.04.2025, 18:11
Letzter Beitrag: miss_marple
  Objekte sortieren und verschieben Karthagos 6 853 24.11.2024, 17:24
Letzter Beitrag: Piet
  Mehrere Objekte gleichzeitig drehen, um die eigene Achse klj 10 4.829 21.11.2024, 11:58
Letzter Beitrag: Anguel
  Ausrichten an Strecke Boerni 9 1.374 12.10.2024, 12:55
Letzter Beitrag: koter
  alle Objekte eines bestimmten Farbmodells auswählen asterix 16 2.499 08.08.2024, 22:25
Letzter Beitrag: asterix
  Makro-Nachhilfe für Funktionen für alle Objekte asterix 31 4.514 09.07.2024, 09:06
Letzter Beitrag: asterix
  Ausrichten von Kurvenobjekten Boerni 7 1.187 19.06.2024, 17:31
Letzter Beitrag: Boerni
  History (zuletzt geöffnete Objekte) Wild Thinng 1 525 23.05.2024, 17:25
Letzter Beitrag: miss_marple
  Mini-Objekte innerhalb einer Gruppe fassen und löschen migo 10 1.594 27.03.2024, 09:35
Letzter Beitrag: Boerni
  Objekte positionieren Sandfloh 2 772 23.03.2024, 18:12
Letzter Beitrag: Sandfloh