10.11.2016, 19:02
Hallo Destiny,
Ja, ich hatte die For-Blocks in Dein Makro aus Beitrag 19 eingebaut. Komplett muss es dann so aussehen:
Sonst habe ich nur noch die üblichen Einrückungen eingefügt.
So sieht man besser, wo welcher Block anfängt und endet.
Du kannst die nicht benötigten Zeilen auch einfach auskommentieren,
dann musst Du nichts löschen.
Bitte die folgende Frage nicht falsch verstehen! (ich bin einfach neugierig)
Programmierst Du schon lange?
Gruß
Koter
destiny schrieb:Hier kommt leider eine Fehlermeldung - habe ich etwas falsch übernommen?
Ja, ich hatte die For-Blocks in Dein Makro aus Beitrag 19 eingebaut. Komplett muss es dann so aussehen:
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
Sonst habe ich nur noch die üblichen Einrückungen eingefügt.
So sieht man besser, wo welcher Block anfängt und endet.
Du kannst die nicht benötigten Zeilen auch einfach auskommentieren,
dann musst Du nichts löschen.
Bitte die folgende Frage nicht falsch verstehen! (ich bin einfach neugierig)
Programmierst Du schon lange?
Gruß
Koter