Skip to main content
Known Participant
November 5, 2014
Question

please help me

  • November 5, 2014
  • 1 reply
  • 521 views

var myDoc = activeDocument;

var channels = myDoc.channels;

var theNumber = 0;

var i=0;

for (var m = 0; m < channels.length; m++) {

  if (channels.kind == ChannelType.SPOTCOLOR) {

  theNumber++

                        var i=theNumber;

// =======================================================select layer number

    var idslct = charIDToTypeID( "slct" );

            var desc18 = new ActionDescriptor();

            var idnull = charIDToTypeID( "null" );

            var ref9 = new ActionReference();

            var idLyr = charIDToTypeID( "Lyr " );

            ref9.putName( idLyr, "layer "+i );

            desc18.putReference( idnull, ref9 );

            var idMkVs = charIDToTypeID( "MkVs" );

        desc18.putBoolean( idMkVs, false );

    executeAction( idslct, desc18, DialogModes.NO );

// =======================================================

var idslct = charIDToTypeID( "slct" );

    var desc13581 = new ActionDescriptor();

    var idnull = charIDToTypeID( "null" );

        var ref1772 = new ActionReference();

        var idChnl = charIDToTypeID( "Chnl" );

        var idChnl = charIDToTypeID( "Chnl" );

        var idBlck = charIDToTypeID( "Blck" );

        ref1772.putEnumerated( idChnl, idChnl, idBlck );

    desc13581.putReference( idnull, ref1772 );

executeAction( idslct, desc13581, DialogModes.NO );

    var k1 = channels.color.cmyk.black;//========spot channel black color

     if (k1 = 100){

         layercurvesk(1);//==========laod curves 1

     }

       else if (75 <= k1 <= 99){

         layercurvesk(2);//==========laod curves 2

     } else if (45 <= k1 <= 74){

         layercurvesk(3);//==========laod curves 3

     }

       else if (0 <= k1 <= 44){

         layercurvesk(4);//==========laod curves 3

     }

  }

}

// =======================================================

function layercurvesk(s){

var idCrvs = charIDToTypeID( "Crvs" );

    var desc13582 = new ActionDescriptor();

    var idpresetKind = stringIDToTypeID( "presetKind" );

    var idpresetKindType = stringIDToTypeID( "presetKindType" );

    var idpresetKindUserDefined = stringIDToTypeID( "presetKindUserDefined" );

    desc13582.putEnumerated( idpresetKind, idpresetKindType, idpresetKindUserDefined );

    var idUsng = charIDToTypeID( "Usng" );

    desc13582.putPath( idUsng, new File( "D:\\new\\k"+s+".acv" ) );

executeAction( idCrvs, desc13582, DialogModes.NO );

}

No matter what the value of k1 is always to select load curves 1, If k1 = 30 should be chosen load curves 3, but chose to load curves 1。How to Modify?

消息编辑者为:kong kong

This topic has been closed for replies.

1 reply

Inspiring
November 5, 2014

Hi roychen,

if (k1 = 100){

         layercurvesk(1);//==========laod curves 1

     }

It should be like as follows,

if(k1 == 100) {

  layercurvesk(1);//==========laod curves 1

}

roychenAuthor
Known Participant
November 6, 2014

hi AI_learner

i change IF (k=100) to IF if(k==100)


var myDoc = activeDocument;

var channels = myDoc.channels;

var theNumber = 0;

var i=0;

for (var m = 0; m < channels.length; m++) {

  if (channels.kind == ChannelType.SPOTCOLOR) {

  theNumber++

                        var i=theNumber;

// =======================================================select layer number

    var idslct = charIDToTypeID( "slct" );

            var desc18 = new ActionDescriptor();

            var idnull = charIDToTypeID( "null" );

            var ref9 = new ActionReference();

            var idLyr = charIDToTypeID( "Lyr " );

            ref9.putName( idLyr, "layer "+i );

            desc18.putReference( idnull, ref9 );

            var idMkVs = charIDToTypeID( "MkVs" );

        desc18.putBoolean( idMkVs, false );

    executeAction( idslct, desc18, DialogModes.NO );

// =======================================================

var idslct = charIDToTypeID( "slct" );

    var desc13581 = new ActionDescriptor();

    var idnull = charIDToTypeID( "null" );

        var ref1772 = new ActionReference();

        var idChnl = charIDToTypeID( "Chnl" );

        var idChnl = charIDToTypeID( "Chnl" );

        var idBlck = charIDToTypeID( "Blck" );

        ref1772.putEnumerated( idChnl, idChnl, idBlck );

    desc13581.putReference( idnull, ref1772 );

executeAction( idslct, desc13581, DialogModes.NO );

    var k1 = channels.color.cmyk.black;//========spot channel black color

     if (k1 == 100){

         layercurvesk(1);//==========laod curves 1

     }

       else if (75 <= k1 <= 99){

         layercurvesk(2);//==========laod curves 2

     } else if (45 <= k1 <= 74){

         layercurvesk(3);//==========laod curves 3

     }

       else if (0 <= k1 <= 44){

         layercurvesk(4);//==========laod curves 4

     }

  }

}

// =======================================================

function layercurvesk(s){

var idCrvs = charIDToTypeID( "Crvs" );

    var desc13582 = new ActionDescriptor();

    var idpresetKind = stringIDToTypeID( "presetKind" );

    var idpresetKindType = stringIDToTypeID( "presetKindType" );

    var idpresetKindUserDefined = stringIDToTypeID( "presetKindUserDefined" );

    desc13582.putEnumerated( idpresetKind, idpresetKindType, idpresetKindUserDefined );

    var idUsng = charIDToTypeID( "Usng" );

    desc13582.putPath( idUsng, new File( "D:\\new\\k"+s+".acv" ) );

executeAction( idCrvs, desc13582, DialogModes.NO );

}

i run javascript,,,,when k1=100 can load curves 1 ,but when k1<=99  No matter what the value of k1 is always to select load curves 2, If k1 = 30 should be chosen load curves 4, but chose to load curves 2。How to Modify?

roychenAuthor
Known Participant
November 6, 2014

all "<= k1 <= 74"   change to "<=K1&& k1 <= 74" ok