17.02.2017, 12:30
Hallo noch einmal,
ich hätte noch ein kleines Anliegen zur bereits erstellten Makro.
Diese funktioniert super - der Text wird durch die Angabe der %-Größe gestaucht.
Leider spring er dann automatisch immer auf die Seitenmitte.
Wenn der Text an der Stelle stehen bleiben soll - also die Y-Achse gleich bleibt,
was müsste ich im Code anpassen? (anstatt Seite.CenterY nehme ich an)
Merci vorab
Viele Grüße
Destiny
ich hätte noch ein kleines Anliegen zur bereits erstellten Makro.
Diese funktioniert super - der Text wird durch die Angabe der %-Größe gestaucht.
Leider spring er dann automatisch immer auf die Seitenmitte.
Wenn der Text an der Stelle stehen bleiben soll - also die Y-Achse gleich bleibt,
was müsste ich im Code anpassen? (anstatt Seite.CenterY nehme ich an)
Code:
Sub GrafiktextVerkleinern()
Dim Seite As Page
Dim Grafiktext As ShapeRange
Dim Text As Shape
Dim Breite As Double, cx As Double, cy As Double
Breite = 80 '(%)
ActiveDocument.Unit = cdrMillimeter
ActiveDocument.ReferencePoint = cdrBottomCenter
ActiveDocument.BeginCommandGroup "Text verkleinern"
Optimization = True
For Each Seite In ActiveDocument.Pages
Set Grafiktext = Seite.Shapes.FindShapes(Query:="@type='text:artistic'")
If Not Grafiktext Is Nothing Then
For Each Text In Grafiktext
'geschütztes Leerzeichen (Strg+Umschlt+Leertaste) durch Zeilenumbruch ersetzen
If Text.SizeWidth > Seite.SizeWidth / 100 * Breite Then
Text.Text.Story = Replace(Text.Text.Story, Chr(160), vbCrLf)
Text.CenterX = Seite.CenterX
Text.CenterY = Seite.CenterY
End If
'Text stauchen
If Text.SizeWidth > Seite.SizeWidth / 100 * Breite Then
Text.SizeWidth = Seite.SizeWidth / 100 * Breite
Text.CenterX = Seite.CenterX
Text.CenterY = Seite.CenterY
End If
Next
End If
Next
Optimization = False
ActiveDocument.EndCommandGroup
ActiveWindow.Refresh
End Sub
Merci vorab
Viele Grüße
Destiny