Hallo mikelchris,
willkommen im Forum! :-)
Zu 1.): Es sollte auch nach modifizierten Bildern gefahndet werden. Man könnte in einer Wiederholschleife die Bildboxen
eine nach der anderen besuchen. Aber weil uns nur interessiert, ob alles okay ist, kann man eine schnellere Methode anwenden.
Kurze Erklärung des Scripts. Die Variablen 'missList' und 'modList' werden als leer definiert. Dann wird jedes Bild gebeten,
den 'missing'- und den 'modified'-Status in die entsprechende Liste zu setzen. Im Test wird geprüft, ob eine der Listen das
Element 'true' enthält. Ist dies der Fall, dann kann eventuell der Name des Projekts in eine Rapportdatei geschrieben werden.
Sonst wird grünes Licht zum Printen gegeben. Die beiden 'set msg to'-Zeilen sind nur zum Testen da, damit das Resultat in der
Ergebnisöffnung erscheint.
---
tell document 1 of application "QuarkXPress 6.1"
set missList to {}
set modList to {}
try
tell every picture box
set missList to missing of every image
set modList to modified of every image
end tell
end try
if missList contains true or modList contains true then
-- den Namen des Projekts in eine Rapportdatei schreiben
set msg to "No good."
else
-- den Befehl zum Printen geben
set msg to "Okay."
end if
end tell
---
Zu 2.): Man sieht immer wieder Scripts, welche in diesem Fall den Finder einsetzen (if exists ...). Aber es gibt eine schnellere
Methode. Versuchen, ob ein Alias der Datei bekannt ist. Wenn ein Fehler generiert wird, dann ist alles okay, das heisst die Datei
existiert noch nicht. Die Numerierung ist etwas schwieriger.
Kurze Erklärung des Scripts. Zu Beginn den Pfad zum Zielordner in einen String verwandeln, damit dies nicht in der Wiederholschleife
gemacht werden muss. Tip: Vermeiden, Variablen mit 'the' oder 'my' zu beginnen. Das sind reservierte Wörter. Wenn mal versehentlich
ein Zwischenraum hineingerät, geht nichts mehr.
Die Zählervariable 'ctr' wird auf Null gesetzt. Die Variable 'okay' auf 'false'. In einer Repeatschleife wird geprüft, ob 'ctr' Null ist.
Wenn ja, wird der Pfad zusammengesetzt. Im 'try wrapper' wird das Vorhandensein der Datei getestet. Wenn sie nicht existiert,
dann ergibt das einen Fehler, das 'okay' wird auf 'true' gesetzt, die Schleife verlassen, der Befehl zum Printen wird gegeben.
Wenn aber schon eine gleichnamige Datei existiert, dann wird kein Fehler erzeugt, das 'okay' bleibt auf 'false', der Wert des Zählers
wird um eins erhöht, der Pfad wird zusammengesetzt, das Vorhandensein wird geprüft usw.
---
set folderPath to theFolder as string
set ctr to 0
set okay to false
repeat while okay is false
if ctr is 0 then
set filePath to (folderPath & ausgabe & "_" & fileNum & ".ps")
else
set filePath to (folderPath & ausgabe & "_" & fileNum & ctr & ".ps")
end if
try
alias filePath
on error
set okay to true
end try
set ctr to ctr + 1
end repeat
print PostScript file filePath
---
Viel Spass!
Hans Haesler <hsa@ringier.ch>
als Antwort auf: [#419172]