Bin Applescript-Neueinsteiger und jetzt natürlich sofort schrecklich überfordert mit meiner Problemstellung ; )
Wäre nett, wenn mir jemand hfelfen könnte. Ich habe eine Linie, der ich auch schon ein Label namens "Linie" zugeordnet habe. Diese Linie soll nun mehrfach dupliziert und horizontal versetzt wieder eingefügt werden ... und zwar jeweils um einen Wert, der aus einer Excel-Tabelle ausgelesen wird. Beispiel: in der Exceltabelle Stehen in den Zellen A1 bis A3 die Werte 17, 5 und 12. Ich möchte jetzt, dass meine gelabelte InDesign-Linie (von dort, wo sie sich zZ befindet) zuerst um 17 mm nach rechts dupliziert werden, dann dieses Duplikat um weitere 5mm, und jenes dann wieder um 12mm. Ist das irgendwie machbar? Vielen Dank im Voraus. Hoffe, dass es für die Profis hier nicht so aufwendig ist, wie es mir jetzt gerade vorkommt ; )
Object in InDesign (CS4) um Werte aus Exceltabelle duplizieren
herzlich willkommen im AppleScript-Forum auf HilfDirSelbst! :-)
Deine Aufgabe ist sicher lösbar. Aber leider muss ich gleich weg (heute ist unser Nationalfeiertag) und deshalb kann ich Dir erst abends wieder behilflich sein.
Doch vielleicht kann ein Mitleser einspringen. Dieser sollte aber auch wissen, welche Excel-Version Du benutzest und unter welchem Mac OS X.
Gruss, Hans
Object in InDesign (CS4) um Werte aus Exceltabelle duplizieren
wie geschieht denn die Zuordnung "Zellen zu Linie"? Ist das jeweilige Label auch in der Exceldatei hinterlegt? Ich nehme mal an in der Exceldatei sind viele Werte für viele Linien definiert? Einfacher und schneller als mit einer offenen Excel-Datei ließe sich mit einer *.csv-Datei arbeiten ... Lieben Gruß
Hans-Gerd Claßen
Object in InDesign (CS4) um Werte aus Exceltabelle duplizieren
hier eine erste Version des Scripts. Normalerweise sollte man mit ein paar Tests feststellen, ob alles bereit ist (läuft Excel? Ist ein Dokument offen? Sind von A1 bis A3 Zahlen eingetragen? Ist das InDesign-Dokument offen? Enthält es den Linienrahmen "Linie"?).
Aber damit es übersichtlicher ist, wird zunächst angenommen, dass der Anwender weiss, was er macht.
Getestet mit CS5 (weil CS4 unter Tiger läuft und auf jener Partition kein Excel vorhanden ist).
Gruss, Hans
Object in InDesign (CS4) um Werte aus Exceltabelle duplizieren
Habe es sogar fertiggebracht, noch eine eigene Abfrage einzubauen, mit welcher man die Tabelle auswählen kann ; )
Jetzt sind allerdings noch ein paar andere Problemchen aufgetaucht – wie zB, dass die Anzahl der Excel-Werte variieren kann und ich eigentlich noch ne Abfrage einbauen müsste, in welcher der Nutzer die Zellen definieren kann. *seufz*
Danke für den Buchtipp, ich schaue mal ... Habe mir vor ein paar Wochen das dicke Applescript 1-2-3 gekauft, aber mit dem bin ich noch nicht wirklich warm geworden ; )
Object in InDesign (CS4) um Werte aus Exceltabelle duplizieren
Super! Daran erkannt man Dein Talent zum AppleScripten.
Eine Abfrage könnte so funktionieren: Einen Dialog zeigen, in welchem im Textfeld ein Beispiel steht, welches der Anwender ändern kann. Seine Eingabe wird der Variablen 'usedRange' zugewiesen, welche dann im Excel-Code anstelle des fix eingesetzten Bereichs verwendet wird.
Die Abfrage könnte aber auch entfallen, indem in der Excel-Zeile die Werte direkt aus der 'used range' geholt werden:
Gruss, Hans
Object in InDesign (CS4) um Werte aus Exceltabelle duplizieren
Super, funktioniert : ) Mit der Used Range macht hier leider keinen Sinn, weil immer noch irgendwelches anderes Zeug in der Spalte steht, aber wenn man den Bereich selbst definiert ... das klappt hevorragend. Danke nochmals!
Eine Sache hätte ich da noch. Dann lasse ich Dich in Ruhe und vertiefe mich erst mal monatelang ins Selbststudium ; )
Quasi das gleiche Thema, deshalb mache ich jetzt mal keinen neuen Thread auf. Ich habe in InDesign ein Objekt (eine kleine Gruppe aus Kreis, Zahl und Linie), welches ich mit "OrtA" label und welches sich an einer beliebigen Position befinden kann. Diese Position möchte ich nun auslesen, damit ich weitere Objekte (OrtB, OrtC ...) wieder um einen Excelwert horizontal versetzt platzieren kann.
Beispiel: OrtA befindet sich im Dokument bei x=5mm y=10mm.
In der Exceltabelle habe ich die Zellen B1 7 B2 12
OrtB soll sich jetzt um 7 mm rechts neben OrtA befinden. OrtC soll sich 12 mm rechts neben OrtB befinden.
Ich hoffe, ich konnte mich verständlich ausdrücken ; )
Object in InDesign (CS4) um Werte aus Exceltabelle duplizieren
bitteschön. Ja, ein sauberes Excel-Dokument sollte es schon sein ...
Zu Deinem neuen Anliegen: Wenn ich es richtig verstehe, dann befinden sich die beiden zu verschiebenden Gruppen schon auf der Seite.
So geht man vor: Die geometric bounds von "OrtA" auslesen. Das sind vier Werte: y1 (Kante oben), x1 (Kante links), y2 (Kante unten), x2 (Kante rechts).
Uns interessiert nur x1 und y1. Die beiden benutzt man zum Verschieben an eine Position = move to (im Gegensatz zum Verschieben um einen Wert = move by).
Anstelle der 7 musst Du natürlich die Variable einsetzen (wie beim ersten Problem). Und wie Du "OrtC" positionierst überlasse ich Dir. :-) Hinweis: curX enthält die aktuelle X-Position von "OrtB".
Gruss, Hans
Object in InDesign (CS4) um Werte aus Exceltabelle duplizieren
Danke Euch beiden : ) Werde dann im Laufe der nächsten zwei Tage einmal versuchen, die Schnipsel zu einem funktionierenden Gesamtskript zusammenzubasteln. Melde mich dann!