14.12.2020, 21:33
Hallo Olaf,
Du kannst es noch mit dieser Prozedur versuchen:
Als erstes Argument muss das zu verarbeitende Rechteck stehen. Wird (nur) das zweite Argument angegeben, werden alle Ecken abgerundet. Die anderen Argumente betreffen die einzelnen Ecken von links oben weiter im Uhrzeigersinn.
Beispiele:
Die Prozedur verarbeitet auch Zeichenketten. Call RechteckAbrunden(Rechteck, TextBox1.Text) sollte also auch funktionieren.
Gruß
Koter
(14.12.2020, 09:35)Olaf schrieb: ...ansonsten werde ich es mit verschiedenen Vorlagen lösen die dann schon gerundet sind....
Du kannst es noch mit dieser Prozedur versuchen:
Code:
Sub RechteckAbrunden(R As Shape, Optional Radius As String, Optional EckeLO As String, _
Optional EckeRO As String, Optional EckeRU As String, Optional EckeLU As String)
Dim Rechteck As Rectangle 'die Rechteck-Eigenschaften des Zeichenobjekts
If R.Type = cdrRectangleShape Then 'prüfen ob es sich um ein Rechteck handelt um Fehler zu vermeiden
R.CreateSelection 'Das Rechteck auswählen (das muss leider sein)
Set Rechteck = R.Rectangle
If Val(Radius) > 0 Then
If EckeLO = "" Then EckeLO = Radius
If EckeLU = "" Then EckeLU = Radius
If EckeRO = "" Then EckeRO = Radius
If EckeRU = "" Then EckeRU = Radius
End If
With R.Rectangle
.RadiusUpperLeft = Val(EckeLO)
.RadiusUpperRight = Val(EckeRO)
.RadiusLowerLeft = Val(EckeLU)
.RadiusLowerRight = Val(EckeRU)
End With
End If
End Sub
Als erstes Argument muss das zu verarbeitende Rechteck stehen. Wird (nur) das zweite Argument angegeben, werden alle Ecken abgerundet. Die anderen Argumente betreffen die einzelnen Ecken von links oben weiter im Uhrzeigersinn.
Beispiele:
Die Prozedur verarbeitet auch Zeichenketten. Call RechteckAbrunden(Rechteck, TextBox1.Text) sollte also auch funktionieren.
Gruß
Koter