Я должен выиграть какую-то награду за этот.Ошибка скрипта InDesign: «Ожидаемый уровень, но полученный уровень»
У меня есть (очень большой) скрипт, работающий в InDesign, который в какой-то момент помещает ресурс библиотеки на страницу, а затем перемещает его на определенный слой. Этот скрипт отлично работает на всех наших компьютерах здесь, но только тогда, когда в InDesign нет других документов, открытых в то время.
Если другой документ является открытым, то ошибка появляется, когда скрипт пытается переместить помещенное актива на другой слой:
JavaScript Error!
Error Number: 54 Error String: Uncaught JavaScript exception: ERROR at line number 2651 Invalid value for set property 'itemLayer'. Expected Layer, but received Layer.
Обратите внимание на детали выделены жирным шрифтом. Он получил то, чего ожидал, поэтому он бросает истерику? Для меня это не имеет смысла. И для записи, вот строка коды она ссылается:
curAsset[0].itemLayer = document.layers.item("Art Work (max imprint)");
И для записи, curAsset[0]
является объектом актива взят из библиотеки и уже размещен на документе. И document
- это переменная, которая уже была назначена текущему открытому документу.
Моя рабочая теория заключается в том, что другие документы, открытые в InDesign, вызывают эту ошибку, так как это единственная корреляция, которую я смог сделать до сих пор, но я не вижу, как это сделать. Сценарий уже имеет переменную document
, которая ссылается только на один из открытых документов. И все остальное в скрипте работает отлично, за исключением этой одной строки (пока). Любые идеи, пожалуйста?
Не может быть, что он получает этот объект 'Layer' из другого документа, когда другие открыты каким-то образом? –
Это в значительной степени моя рабочая теория, но я понятия не имею, как или почему она делает это только с одной строкой кода из десятков строк, относящихся к переменной 'document'.Я говорю всем здесь, чтобы убедиться, что в InDesign нет открытых документов, прежде чем запускать скрипт, но это не идеально, очевидно. – Sturm
+1 только для сообщения об ошибке. – georg