eine Spaltenbreite ist jetzt 61,333 mm ich hätte aber gerne gerade Werte, also entweder 61 mm oder 61,5 mm zumindest. mal kurz rechnen: 210 (A4 Breite) - 2x10 (Ränder) = 190 - 6 (2 x Spaltenbreite) = 184 184/3 (= 3 Spalten) = 61,33333333
Aber könnte es nicht auch 61 / 61 / 62 sein? Und wenn ich nachträglich die Spaltenanzahl erhöhe habe ich wieder das selbe Problem.
Ich weiß wie ich auf die Spaltenhilfslinien zugreife und auf einen Wert bringe, nicht aber wie ich die Werte von automatisch erzeugten runde.
Ich glaube ich habe mich etwas missverständlich ausgedrückt.
Mit ging es darum: egal wieviele Spalten ich erzeuge, diese sollen immer auf ganzen oder halben Millimetern liegen.
Die Eingabe der fixen Werte wäre ja nur bei dem Beispiel mit 3 Spalten effektiv. Ich ändere aber während des Layoutierens oft die Spaltenanzahl. Da meine Objekte von diesen Spalten begrenzt sind und es eine verschiedene Anzahl an Objekten geben kann ist es sehr mühsam die Spaltenhilfslinien auf gerade Werte zu bringen.
Falls die Ränder immer 10 mm sind und der Spaltenabstand immer 3 mm, wird es etwas einfacher sein. Sonst müssen die beiden Werte in die "Ausrechnerei" einbezogen werden.
Wenn das Script bereit ist: – Bei der aktuellen Seite den Spaltenabstand ändern; – das Script starten. – Fertig! :-)
Danke für die Antwort, aber es geht leider am Thema vorbei:
Das Script soll selber nachsehen wieviele Spalten vorhanden sind und wo die Ränder sind: Es gibt auch eines mit dem ich die Spaltenhilfslinien alle auf einmal um einen bestimmten Wert verschieben kann:
Also muss dieses Skript wissen wo die aktuellen Positionen der Spaltenhilfslinien sind. Somit muss es auch möglich sein alle Spaltenhilfslinien auf einen ganzen Millimeterwert zu bringen.
***** Bevor wir zum Thema zurückkehren: Hast Du das Script, welches die Spaltenhilfslinien auf einmal verschiebt, ausprobiert?
In der Zuweisung der aktuellen Position fehlt die Zählervariable. Diese wurde zwar getippt, aber ungeschickterweise ist der Buchstabe i verwendet worden. Wenn ein "i" in eckige Klammern gesetzt wird (= [i] ), bedeutet das für die Serversoftware: "Der folgende Text muss kursiv gestellt werden." Gleichzeitig verschwinden aber die drei Zeichen. Wenn man die Code-Zeilen kopiert und ausprobiert, ist das Ergebnis nicht wie erwartet.
Wenn ein anderer Buchstabe verwendet wird, dann bliebt er erhalten. Aber weder b (= bold) noch s (= durchgestrichen) benutzen:
*****
Zurück zu Deiner Aufgabe:
Das Script holt sich die 'columnsPositions' aus den 'marginPreferences'
Das ist das tägliche Brot des Scripters: – Bestandesaufnahme des Vorhandenen. – Womit muss es ergänzt werden? – Wo finde ich das?
Du hast in Deinem ersten Beispiel schon die 'marginPreferences' verwendet. Wenn man im OMV (Object Model Verzeichnis) diese Seite anschaut, dann findet man alles, was es braucht: – columnCount = die Anzahl Spalten – columnGutter = der Spaltenabstand – left = der Wert des linken Randes – right = der Wert des rechten Randes
Mit diesen Werten (die aktuellen Positionen brauchen wir nicht) können die neuen Positionen errechnet werden. Gar nicht so einfach. Aber eine schöne Aufgabe für einen angehenden Scripter. :-)