Beiträge: 33
Themen: 5
Danke erhalten: 0 in 0 Posts
Danke gesagt: 18
Registriert seit: 03.06.2020
Hallo,
ich möchte in Corel per VBA Code die Ecken eines Zeichenobjekts (Rechteck) abrunden falls gewünscht.
Die Ecken sollen um einen Radius in mm abgerundet werden der in eine Textbox eingetragen wird
Leider konnte ich nicht herausfinden wie ich in VBA den Radius benennen kann.
Rechteck.SizeRadius = Textbox5.Text
Das ist natürlich nicht richtig aber so ähnlich stelle ich es mir vor, nur das mir die Begriffe für den Radius fehlen.
Vielleich hat ja jemand eine Idee.
Vielen Dank und ein schönes Wochenende.
Gruß
Olaf
Betriebssystem / Grafik-Software: Corel Draw GS SE 2018
•
Beiträge: 24
Themen: 0
Danke erhalten: 10 in 9 Posts
Danke gesagt: 3
Registriert seit: 26.08.2019
1 Benutzer bedankt sich bei Litschi für diesen Beitrag:1 Benutzer bedankt Danke Litschi für diesen Beitrag
• koter
Beiträge: 1.099
Themen: 11
Danke erhalten: 114 in 82 Posts
Danke gesagt: 15
Registriert seit: 24.03.2012
Hallo Olaf,
wenn Du das Makro aus Litschis Beitrag verwenden willst, musst Du das Rechteck vorher in eine Kurve wandeln.
Wenn es ein Rechteck bleiben soll, kannst Du laut VBA-Hilfe dieses Makro verwenden:
Code:
Sub Test()
ActiveShape.Rectangle.SetRadius 0.3
End Sub
Seit einigen Versionen (ich glaube seit X4) funktioniert das bei mir aber nicht mehr.
Vielleicht hat Corel diesen Bug inzwischen entfernt und bei Dir läuft es.
Ein Textfeld gibt eine Zeichenkette zurück. Du musst diese vorher in eine Zahl wandeln.
Falls es nicht klappt, melde Dich noch einmal.
Gruß
Koter
1 Benutzer bedankt sich bei koter für diesen Beitrag:1 Benutzer bedankt Danke koter für diesen Beitrag
• Olaf
Beiträge: 33
Themen: 5
Danke erhalten: 0 in 0 Posts
Danke gesagt: 18
Registriert seit: 03.06.2020
Hallo Koter,
vielen dank für Deine Antwort, ich werde es die Tage mal ausprobieren, wenn das klappt wäre das toll, ansonsten werde ich es mit verschiedenen Vorlagen lösen die dann schon gerundet sind.
Ich wünsche Dir einen guten Start in die Woche.
Gruß
Olaf
Betriebssystem / Grafik-Software: Corel Draw GS SE 2018
•
Beiträge: 1.099
Themen: 11
Danke erhalten: 114 in 82 Posts
Danke gesagt: 15
Registriert seit: 24.03.2012
Hallo Olaf,
(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:
![[Bild: zwischenablage01amk66.jpg]](https://abload.de/img/zwischenablage01amk66.jpg)
Die Prozedur verarbeitet auch Zeichenketten.
Call RechteckAbrunden(Rechteck, TextBox1.Text) sollte also auch funktionieren.
Gruß
Koter
2 Benutzer bedanken sich bei koter für diesen Beitrag:2 Benutzer bedanken Danke koter für diesen Beitrag
• Litschi, Olaf
Beiträge: 33
Themen: 5
Danke erhalten: 0 in 0 Posts
Danke gesagt: 18
Registriert seit: 03.06.2020
Hallo Koter,
sorry das ich so spät Antworte, ich werde das in Kürze ausprobieren, ich habe derzeit leider noch ein paar andere Baustellen und komme derzeit nicht dazu.
Ich Danke Dir und wünsche Dir ein schönes Wochenende
Gruß
Olaf
Betriebssystem / Grafik-Software: Corel Draw GS SE 2018
•