Hallo Jürgen,
gut, dass Du ein Mittel gegen die Abstürze gefunden hast. Dann muss ich ja
das Script nicht unbedingt zum Laufen brigen ...
Doch beim Überfliegen des Codes sind mir ein paar Dinge aufgefallen, welche
optimiert werden sollten.
Ganz allgemein: Es kann nicht schaden, alle Aktionen (ob kritisch oder nicht)
mit einem try-Wickel zu umgeben. Zum Beispiel:
---
try
override page item 2 of page 1 of master spread 1 destination page page 1
end try
---
Zu den Suchen/Ersetzen-Läufen: Wie schon vor genau zwei Monaten erwähnt,
sollten zu Beginn und am Ende des Scripts die Find- und Change-Vorgaben
geleert werden, damit es weder mit dem Script, noch bei späteren, manuellen
Aktionen falsche Ergebnisse gibt:
---
tell application "Adobe InDesign CS2"
activate
set find preferences to nothing
set change preferences to nothing
---
Die Suchen- und Ersetzen-Strings würde ich zuerst zusammensetzen ...
---
set searchString to "Abcedf" & return
set replaceString to "Abcedf (2006) " & FirstSeite & "–" & LastSeite & return & ¬
"1234-5678/06/" & Issue & FirstSeite & "-" & AnzahlSeiten
---
... und erst dann in den Befehl einfügen:
---
search for searchString replacing with replaceString
---
Ungefähr so, wie man in Ruhe einen Brief schreibt, in einen Umschlag steckt,
diesen adressiert und ein Marke darauf klebt, bevor man damit zur Post geht.
Klar könnte man auch während des Ganges zur Post etwas schreiben, das Papier
zusammenfalten und so weiter. Aber die Gefahr, dass etwas schief läuft, wäre
viel grösser, als mit der ordentlichen Vorbereitung.
Im Handler MakeOLFDate(MonthList) befindet sich ein überflüssiger
tell-Finder-Block. Der Pfad zur Textdatei kann ohne Finder bestimmt werden.
Das Lesen der Datei geschieht mit einem Befehl der Standard Additions, der Finder
hat damit nichts zu tun. Dasselbe gilt für die fünf Satimage-RegExp-Befehle:
kein Finder notwendig.
Wenn Du dieses tell application "Finder" entfernst, kann es sein, dass der Trick
mit dem "my" nicht mehr notwendig sein wird.
Zu guter Letzt: Weil die Liste MonthList als property definiert, ist, muss sie
nicht als Parameter dem Handler übergeben werden. Die Klammern können
also geleert werden.
Gruss, Hans
als Antwort auf: [#421224]