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
  Ausrichten an Strecke Boerni 4 161 29.09.2024, 13:04
Letzter Beitrag: Boerni
  alle Objekte eines bestimmten Farbmodells auswählen asterix 16 1.293 08.08.2024, 22:25
Letzter Beitrag: asterix
  Makro-Nachhilfe für Funktionen für alle Objekte asterix 31 2.475 09.07.2024, 09:06
Letzter Beitrag: asterix
  Ausrichten von Kurvenobjekten Boerni 7 696 19.06.2024, 17:31
Letzter Beitrag: Boerni
  History (zuletzt geöffnete Objekte) Wild Thinng 1 308 23.05.2024, 17:25
Letzter Beitrag: miss_marple
  Mini-Objekte innerhalb einer Gruppe fassen und löschen migo 10 940 27.03.2024, 09:35
Letzter Beitrag: Boerni
  Objekte positionieren Sandfloh 2 522 23.03.2024, 18:12
Letzter Beitrag: Sandfloh
  Objekte und Punkte verbinden Herbert_M 2 470 05.02.2024, 20:17
Letzter Beitrag: norre
  Makro - Text an Rechteck ausrichten benni313 5 790 31.01.2024, 09:20
Letzter Beitrag: benni313
  2023 Objekte aus Dateimanager auf Arbeitsfläche ziehen ? miniprints 0 442 23.01.2024, 15:17
Letzter Beitrag: miniprints