Ошибка 1302: Нет такого элемента Строка: 8 groupChildArr[randLays].visible = true;

Привет, я пытаюсь запустить этот скрипт, который я нашел в фотошопе, и он дает мне эту ошибку

Сценарий должен сделать 1 случайный слой видимым в каждой группе. Я сделал то, что было сказано в посте, шаг за шагом.

Мне действительно нужна помощь здесь.

      function Visible() {
  var Grps = app.activeDocument.layerSets; // loops through all groups
  for (var i = 0; i < Grps.length; i++) {
    var tmp = app.activeDocument.layerSets[i].layers.length;
    app.activeDocument.layerSets[i].visible = true;
    var groupChildArr = app.activeDocument.layerSets[i].layers;
    var randLays = Math.floor(Math.random() * tmp);
    groupChildArr[randLays].visible = true;
    Save();
  }
  Revert();
}

function Save() {
  var outFolder = app.activeDocument; // psd name
  var outPath = outFolder.path;
  var fName = "PNG"; // define folder name
  var f = new Folder(outPath + "/" + fName);
  if (!f.exists) {
    f.create()
  }
  var saveFile = new File(outPath + "/" + fName + "/" + "Pattern_" + num + ".png");
  pngSaveOptions = new PNGSaveOptions();
  pngSaveOptions.interlaced = false;
  app.activeDocument.saveAs(saveFile, pngSaveOptions, true, Extension.LOWERCASE);
}

// Original code - revert function does not work
// for some users
//function Revert(){
//  var idslct = charIDToTypeID( "slct" );
//  var desc300 = new ActionDescriptor();
//  var idnull = charIDToTypeID( "null" );
//  var ref163 = new ActionReference();
//  var idSnpS = charIDToTypeID( "SnpS" );
//  ref163.putName( idSnpS, "test.psd" );
//  desc300.putReference( idnull, ref163 );
//  executeAction( idslct, desc300, DialogModes.NO );
//}

function Revert() {
  var idRvrt = charIDToTypeID("Rvrt");
  executeAction(idRvrt, undefined, DialogModes.NO);
}

var count = prompt("How many patterns you want", "");
for (var x = 0; x < count; x++) {
  var num = x + 1;
  Visible();
}

0 ответов

Другие вопросы по тегам