VBA Ecken eines Objekts abrunden
#1
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
Zitieren
#2
Vielleicht hilft Dir das weiter
https://www.oberonplace.com/vba/drawmacr...nerssh.htm
[-] 1 Benutzer bedankt sich bei Litschi für diesen Beitrag:
  • koter
Zitieren
#3
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:
  • Olaf
Zitieren
#4
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
Zitieren
#5
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]
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:
  • Litschi, Olaf
Zitieren
#6
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
Zitieren



Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  v2019 und älter: ab und an fehlen die Anfasser eines Objekts mtemp 4 573 25.05.2019, 13:03
Letzter Beitrag: mtemp
  Linien mit Punkten an den Ecken Stefan178 3 622 23.03.2018, 17:25
Letzter Beitrag: norre
  X6 kopieren eines Rechteckes dauert 10 Sekunden!!! nick 5 1.175 21.06.2016, 16:52
Letzter Beitrag: Hartmut
  Fragen eines blutigen Anfänger Spiderschweinn 10 1.735 05.04.2016, 20:02
Letzter Beitrag: ensing
  Ecken abrunden bei einer eigens erstellten Grafik DoktorD 9 2.033 30.11.2015, 21:24
Letzter Beitrag: DoktorD
  Flächeninhalt eines Schriftzuges octopussy9 8 1.421 30.07.2015, 13:13
Letzter Beitrag: norre
  abgerundete Ecken Blacky 1 808 14.04.2015, 21:57
Letzter Beitrag: skifan
  Polygon abrunden und "eindellen" henkob 14 2.310 19.03.2015, 16:26
Letzter Beitrag: OsCor
  Corel X7 FehlerMeldung beim Starten und beenden eines Tabs _mario_ 4 1.422 20.02.2015, 15:44
Letzter Beitrag: _mario_
  Vektorisierung eines CDR-File spam70 7 1.442 21.01.2014, 11:47
Letzter Beitrag: norre