Für die paar interessierten Leute: die erste Version des Scripts ist abgeschickt. Wie befürchtet, war die Entwicklung recht aufwendig, aber ich glaube, dass es nun brauchbar ist.
Wie von Hans-Gerd skizziert, wird die Anzahl Spalten und die Bildhöhe im Bildnamen festgehalten. Beispiel: "Bildname_2sp_123,456h.eps". Damit die Umwandlung dieser Informationen ohne Fehlermeldung gelingt, habe ich einen Stolperstein aus dem Weg räumen müssen: der Dezimalseparator in Deutschland ist das Komma. Hier haben wir den Punkt. Zum Testen nicht sehr praktisch. Ich fand folgende Lösung: das Zeichen, welches im System als Dezimalseparator verwendet wird, in eine Variable geben:
Später, vor dem Umwandeln der Bildhöhe in eine Bruchzahl, wird der aktuelle Separator eingesetzt. Interessant: im Resultat wird immer der Punkt als Separator verwendet.
Aber zuerst müssen die Informationen aus dem Namen herausgezogen werden.
---
set AppleScript's text item delimiters to {"_"}
-- das erste Zeichen des zweitletzten Wortes und das letzte Wort des Bildpfades ausziehen
try
set numCol to character 1 of text item -2 of fullPath
set heightString to text item -1 of fullPath
set AppleScript's text item delimiters to {""}
on error
set AppleScript's text item delimiters to {""}
end try
-- prüfen, ob das Zeichen wirklich eine Zahl zwischen 1 und 3 ist
if numCol is in "123" then
set numCol to numCol as integer
end if
-- den Dezimalseparatoren feststellen
set decSep to (character 2 of (1 / 2 as string))
set picHeight to ""
-- die Bildhöhe aus dem letzten Wort des Namens ausziehen
repeat with i from 1 to count of heightString
set curChar to character i of heightString
if curChar is in "0123456789,." then
set picHeight to picHeight & curChar
else
exit repeat
end if
end repeat
set tmpHeight to ""
-- den Dezimalseparatoren einsetzen
repeat with i from 1 to count of picHeight
set curChar to character i of picHeight
if curChar is in "0123456789" then
set tmpHeight to tmpHeight & curChar
else
set tmpHeight to tmpHeight & decSep
end if
end repeat
-- Bildhöhe (ist immer noch ein String) in eine Bruchzahl verwandeln
try
tell document 1 of application "QuarkXPress 4.11"
set picHeight to tmpHeight as real
end tell
end try
---
Dies ist nur ein kleiner (und gekürzter) Ausschnitt. Wer gerne das ganze Script ausprobieren möchte: nur anfragen.
Hans Haesler <hsa@ringier.ch>