Hallo Olaf,
Du gibst ja richtig Gas!
Du musst Dich nicht für Fragen entschuldigen, dafür ist ein Forum wie dieses ja da. Google und Youtube sind gute Seiten. Um das Makro zu verstehen sollten aber das Tutorial, das Forum und die F1-Taste genügen. Ich will Dich natürlich nicht davon abhalten, Dich auch woanders umzusehen, man kann sich aber schnell verlaufen.
Am Anfang des Codes im Plattenmodul werden einige Variablen deklariert. Beim Deklarieren legt man fest welchen Datentyp die Variablen haben sollen.
Die Variablen, deren Namen ich mit einem kleinen o beginnen lasse, sind Objektvariablen. Objektvariablen sind im Gegensatz zu einfachen Variablen ziemlich mächtige Dinger. Sie enthalten nicht nur einen einzelnen Wert, sondern komplexe Objekte, die wiederum andere Objekte enthalten können.
Die Variable oSeite enthält ein Objekt vom Typ „Page“ das eine Seite in einem CorelDRAW-Dokument repräsentiert. Objekte haben Eigenschaften und Methoden. Eigenschaften und Methoden werden angesprochen, indem man sie (durch einen Punkt getrennt) an den Variablenamen anhängt.
Eine Eigenschaft von oSeite wäre z.B. der Name der Seite. Also mit oSeite.Name = "Plattenseite" würde die Seite mit einem Namen versehen werden.
Die Methode oSeite.Delete würde die Seite löschen.
Du musst also kein o vor den Variablennamen schreiben, Du kannst sie auch „Adelheid“ oder „Willibald“ oder sonstwie nennen.
Objekte haben im Tutorial ein eigenes Kapitel.
Mit dem Befehl Set wird Objektvariablen ein konkretes Objekt zugewiesen. Ich habe die Kurve im Objektmanager „Boden“ genannt. Über diesen Namen wird das Objekt identifiziert. „Boden“ ist ein Unterobjekt der Ebene „Platten“. Die Ebene „Platten“ ist ein Unterobjekt der Seite:
![[Bild: zwischenablage0196j16.jpg]](https://abload.de/img/zwischenablage0196j16.jpg)
Du musst keine Variable für den Boden anlegen da dieser ja ein Unterobjekt der Seite ist. Es ginge also mit oSeite.Layers("Platten").Shapes("Boden"). Das wäre mir aber zu lang. Die Variable oBoden ist viel handlicher.
Die Sub-Prozedur VarINI hat gar keine eigenen Variablen. Eine Variable die nur in dieser Sub gelten soll, müsste innerhalb dieser Sub deklariert werden werden (Sichtbarkeit). Die Sub versieht nur zuvor deklarierte Variablen mit Werten. Das Objekt ActiveDocument muss (und kann) nicht deklariert werden. Es ist ein Objekt der Applikation (CorelDRAW) und repräsentiert die aktuelle Seite. Unit ist eine Eigenschaft von ActiveDocument. Die Konstante cdrMillimeter gehört auch zur Applikation und hat den Wert 3. Weil sich keine Sau solche Werte merken kann, hat Corel netterweise diese Konstanten zur Verfügung gestellt.
Ich befürchte diesen „Klick“ gibt es nicht. Falls Du noch keine Programmierkenntnisse hast, wirst Du wohl Schritt für Schritt vorgehen müssen. Vielleicht solltest Du einen Gang zurückschalten, damit der Spaß sich nicht in Frust verwandelt.
Viel Spaß und viel Erfolg!
Gruß
Koter
Olaf schrieb:...Sorry für die vielen Fragen aber für einen Anfänger ist das echt eine harte Nuss, selbst mit Hilfe von Google und Youtube usw...
Du gibst ja richtig Gas!
Du musst Dich nicht für Fragen entschuldigen, dafür ist ein Forum wie dieses ja da. Google und Youtube sind gute Seiten. Um das Makro zu verstehen sollten aber das Tutorial, das Forum und die F1-Taste genügen. Ich will Dich natürlich nicht davon abhalten, Dich auch woanders umzusehen, man kann sich aber schnell verlaufen.
Olaf schrieb:...Im Code steht vor den Objektnamen immer ein kleines o, z.B. "oSeite", leider verstehe ich nicht wozu es dort steht...
Am Anfang des Codes im Plattenmodul werden einige Variablen deklariert. Beim Deklarieren legt man fest welchen Datentyp die Variablen haben sollen.
Die Variablen, deren Namen ich mit einem kleinen o beginnen lasse, sind Objektvariablen. Objektvariablen sind im Gegensatz zu einfachen Variablen ziemlich mächtige Dinger. Sie enthalten nicht nur einen einzelnen Wert, sondern komplexe Objekte, die wiederum andere Objekte enthalten können.
Die Variable oSeite enthält ein Objekt vom Typ „Page“ das eine Seite in einem CorelDRAW-Dokument repräsentiert. Objekte haben Eigenschaften und Methoden. Eigenschaften und Methoden werden angesprochen, indem man sie (durch einen Punkt getrennt) an den Variablenamen anhängt.
Eine Eigenschaft von oSeite wäre z.B. der Name der Seite. Also mit oSeite.Name = "Plattenseite" würde die Seite mit einem Namen versehen werden.
Die Methode oSeite.Delete würde die Seite löschen.
Du musst also kein o vor den Variablennamen schreiben, Du kannst sie auch „Adelheid“ oder „Willibald“ oder sonstwie nennen.
Objekte haben im Tutorial ein eigenes Kapitel.
Olaf schrieb:...Im Code gibt es eine Variable die glaube ich aussagt das oBoden ="Boden" im Corel ist ( Set oBoden = oPlattenEbeben.Shapes("Boden"), gibt es dafür einen bestimmten Grund?...
Mit dem Befehl Set wird Objektvariablen ein konkretes Objekt zugewiesen. Ich habe die Kurve im Objektmanager „Boden“ genannt. Über diesen Namen wird das Objekt identifiziert. „Boden“ ist ein Unterobjekt der Ebene „Platten“. Die Ebene „Platten“ ist ein Unterobjekt der Seite:
![[Bild: zwischenablage0196j16.jpg]](https://abload.de/img/zwischenablage0196j16.jpg)
Du musst keine Variable für den Boden anlegen da dieser ja ein Unterobjekt der Seite ist. Es ginge also mit oSeite.Layers("Platten").Shapes("Boden"). Das wäre mir aber zu lang. Die Variable oBoden ist viel handlicher.
Olaf schrieb:...Initialisierts du mit Call VarINI 'Variablen initalieren" nur die Variablen aus Private Sub VarINI() bzw. müssenin Private Sub VarINI() alle Variablen...
Die Sub-Prozedur VarINI hat gar keine eigenen Variablen. Eine Variable die nur in dieser Sub gelten soll, müsste innerhalb dieser Sub deklariert werden werden (Sichtbarkeit). Die Sub versieht nur zuvor deklarierte Variablen mit Werten. Das Objekt ActiveDocument muss (und kann) nicht deklariert werden. Es ist ein Objekt der Applikation (CorelDRAW) und repräsentiert die aktuelle Seite. Unit ist eine Eigenschaft von ActiveDocument. Die Konstante cdrMillimeter gehört auch zur Applikation und hat den Wert 3. Weil sich keine Sau solche Werte merken kann, hat Corel netterweise diese Konstanten zur Verfügung gestellt.
Olaf schrieb:...Mit fehlt tatsächlich auch noch der "Klick" um das ganz vom Grundsatz her zu verstehen...
Ich befürchte diesen „Klick“ gibt es nicht. Falls Du noch keine Programmierkenntnisse hast, wirst Du wohl Schritt für Schritt vorgehen müssen. Vielleicht solltest Du einen Gang zurückschalten, damit der Spaß sich nicht in Frust verwandelt.
Viel Spaß und viel Erfolg!
Gruß
Koter