У меня есть брошюра InDesign, которую я пытаюсь написать, но у меня возникают проблемы. Когда я пытаюсь написать сценарий для 100-страничной брошюры, я получаю:
Номер ошибки: 11274; Строка ошибки: Объект заблокирован
Когда я просматриваю три слоя мастер-страницы, там нет заблокированного слоя, и когда я попадаю на страницу, по- Layer Panel
прежнему не отображается заблокированный слой в областях верхнего и дочернего уровня. Думая, что это может быть проблема с файлом, я попытался экспортировать брошюру в IDML и снова открыть ее, а затем сохранить как новый INDD, но проблема все еще существует.
Я пробовал скрипты:
app.activeDocument.pageItems.everyItem().locked = false;
на всех страницах перед связыванием для управления нулевым текстовым фреймом с помощью ( app.select(allPages[x].textFrames[0]);
) через цикл for, но проблема все еще возникает. Думая, что это может быть проблема с главной страницей, которую я пробовал:
app.activeDocument.masterSpreads.everyItem().pageItems.everyItem().locked = false;
но я все еще получаю те же результаты. При обращении к документации по сценариям InDesign в разделе « Работа со слоями» выбор блокировки слоев ограничен.
Как выполнить скрипт через документ InDesign, создающий блокировку объекта, или есть ли способ изолировать заблокированный объект?
Пожалуйста, попробуй
app.activeDocument.allPageItems.everyItem().locked = false;
http://yearbook.github.io/esdocs/#/InDesign/Document/allPageItems
Обычно вам нужно получить доступ к pageItems через их страницу. Так что ваш app.activeDocument.pageItems...
никуда не ведет.
То же самое справедливо и для мастер-спрэдов. У них есть страницы в качестве подколлекции. Итак, ваш код для этого должен быть:
app.activeDocument.masterSpreads.everyItem().pages.everyItem().pageItems.everyItem().locked = false;
Также предлагаю попробовать найти его визуально. Этот код пройдёт по всем страницам и сделает заблокированные элементы пурпурными. Он также будет печатать сообщения в ESTK.
function main () {
var doc = app.activeDocument;
for(var i = 0; i < doc.pages.length; i++) {
$.writeln('\'I\'m on page ' + i);
var page = doc.pages[i];
for(var j = 0; j < page.pageItems.length; j++) {
var item = page.pageItems[j];
if(item.locked === true) {
// do something to the page item so you can
// find it visually
$.writeln('found a locked item');
item.fillColor = doc.swatches[5]; // normally it is magenta
}
}
}
}
main();
мдомино