Juergens-Workshops.de Forum
Grafik verzerren - Druckversion

+- Juergens-Workshops.de Forum (https://forum.juergens-workshops.de)
+-- Forum: Corel Grafik Forum (https://forum.juergens-workshops.de/forumdisplay.php?fid=65)
+--- Forum: Corel Draw (https://forum.juergens-workshops.de/forumdisplay.php?fid=93)
+--- Thema: Grafik verzerren (/showthread.php?tid=38925)



Grafik verzerren - Karthagos - 07.06.2026

nachdem ich relativ häufig Grafiken mit dem Verzerrmodus bearbeite, hatte mit Koter ein (bzw. sogar zwei) Makros geschrieben, um schnell in diesen Modus zu gelangen.

Code:
Sub Verzerren()
  ActiveDocument.Background.ConvertToLayer
  With Application.FrameWork.Automation
      .InvokeItem "2d9cb0c1-bc89-4eeb-b2e1-f70629882b9d"
      .InvokeItem "578a71ac-6361-dea7-471d-edff86fdcf25"Habe es
  End With
End Sub


Sub TKverzerren()
  SendKeys "^a"
  KurzePause
  SendKeys "^x"
  KurzePause
  SendKeys "^v"
  KurzePause
  SendKeys "%v"
End Sub

Private Sub KurzePause()
   Dim PauseTime As Double
  PauseTime = Timer + 0.4
  Do While Timer < PauseTime
      DoEvents
  Loop
End Sub


Ich nutze das erste Makro, nicht das zweite mit den Tastaturanschlägen und habe es mir als Icon in die Symbolleiste eingefügt.
Jetzt muss ich allerdings jedes mal vor Nutzung mit Strg+A das Objekt markieren, damit es funktioniert. Kann man diesen Befehl auch noch in  das Makro einbauen?


RE: Grafik verzerren - Litschi - 09.06.2026

Du könntest direkt unter
ActiveDocument.Background.ConvertToLayer
den Befehl

Code:
Application.CorelScript.ObjectSelectAll

einfügen.

Sollte Application.CorelScript.ObjectSelectAll nicht funktionieren könntest Du stattdessen

Code:
SendKeys "^a", True 
DoEvents


oder wie im zweiten Macro


Code:
  SendKeys "^a"
  KurzePause

Der Sub "KurzePause"muss dann natürlich vorhanden sein.

Das ganze ist ungetestet ?


RE: Grafik verzerren - koter - 09.06.2026

Hallo Litschi,

(09.06.2026, 09:35)Litschi schrieb: Das ganze ist ungetestet ?

Nein, es beruht auf einem Irrtum.
(Siehe hier)

Gruß

Koter