Moin zusammen,
nachdem ich mich hier
bereits vorgestellt hatte, und indirekt das Thema CorelDraw und VBA angeschnitten hatte, möchte ich hier mal konkreter werden.
CorelDraw nutze ich als Modellbahner sowohl für Lasercut- und 3D-Vorlagen, wie auch (ja, ja, Verrückte gibt es immer wieder) für Zeichnungen von Güterwagen.
Dabei ist schon in Corel die Ausrichtung und Platzierung teilweise mühsam.
Gerade die exakte Ausrichtung, die mehrfache Wiederholung von Kopie und Platzierung können nerven.
Im Zuge der Zeichnungserstellung für ein Güterwagenbuch, bei denen ich ein paar Zeichnungen beigesteuert habe wurde mir bewusst, welche Dinge extrem lästig sind.
- Die permanente Umrechnung auf den Zeichnungsmaßstab (1:40 in diesem Fall)
- Das Versetzen mehrfach vorhandener Objekte um ein Vorbild- oder Absolutmaß
- Das Duplizieren eines Objektes mit exakter Verschiebung ohne lästige Bezugslinien oder Ähnliches
Da ich des Programmierens in unterschiedlichsten Sprachen mächtig bin, kenne ich auch VBA, speziell aus dem Bereich Excel.
Das ist insofern ganz hilfreich, da meine Kunden oft gar nicht merken, dass sehr umfangreiche Arbeiten über den Umweg Excel mit Makros rasend schnell gehen
Aber egal, zurück zum Thema.
CorelDraw, zumindest die aktuelleren Versionen, verfügt über einen VBA (Visual Basic for Applications) Teil.
Die oben erwähnte Thematik wollte ich dann über eben ein solches Makro erschlagen.
Wie das dann in der Praxis geschieht, das ganz am Ende.
Wie bekomme ich aber den VBA Teil in CorelDraw?
Wenn man die Schritte weiß, ist es eigentlich schnell erledigt.
1. VBA in die Menüleiste bringen
Mit einem rechten Mausklick lässt sich der Makroteil in der Menüleiste verankern.
2. Öffnen des GlobalMakro Teiles
Der GlobalMakro Teil von Corel lässt sich über den Editor öffnen.
Hier sollte das kleine Makro, entsprechend des Bildes hinterlegt werden.
Public Sub MoveAndCopy()
FrmMoveAndCopy.Show
End Sub
3. Eingabe-Form importieren
Da die ganze Mimik auch eine Oberfläche braucht, wird diese "Form" zunächst importiert.
Die ZIP-Datei findet ihr als ZIP weiter unten.
4. Shortcut zum Öffnen des Eingabefensters
Da mir Menü immer zu lästig ist, habe ich eine Tastenkombination für die Beabeitung [Strg]+[m].
Die weise ich über den Skriptmanager zu.
Mit rechtem Mausklick auf das Makro.
Danach "Tastaturbefehl zuweisen" wählen.
Dann, wie gezeigt, Strg und m definieren.
Das wars.
Und nun zur Bedienung.
Im Beispiel habe ich ein Rechteck 20x20mm gezeichnet und markiert.
Mit [Strg]+[m] wird nun das Eingabefenster geöffnet.
Hier wird gewählt:
- Absolut. Nicht der Maßstab wird umgerechnet, sondern das eingegebene Maß entspricht 1:1 dem auf der Zeichnung.
- Links/Rechts/Oben/Unten. In welche Richtung soll verschoben oder kopiert werden.
- Kopieren. Das Objekt wird nicht versetzt sondern kopiert.
- Wiederholen. Wie oft soll die Kopie erfolgen
Danach [Ausführen] wählen, und fettich...
Die Datei mit der Maske findet ihr hier.
Viele Grüße
Hans-Dieter
PS: Das ist natürlich nicht das Ende der Fahnenstange. Schräge Anordnungen etc. das ist bei mir noch auf der Agenda.