• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Script error number 21

Explorer ,
May 25, 2020 May 25, 2020

Copy link to clipboard

Copied

Hello, I've been trying to change strokes across several pages without having to change styles and found this thread to be helpful: https://community.adobe.com/t5/indesign/script-to-find-change-stroke-in-tables/td-p/4315033?page=1 

 

But when I was trying to test run the script, it returns the error message as shown below.

 

Screenshot 2020-05-26 at 05.17.39.png

 

 

I have no idea what's going on. Could someone be kind enough to take a look at the code? Please help. Thank you so much!

 

myDialog = app.dialogs.add ({name:"Recolor Tables",canCancel:true});  


swatchlist = app.activeDocument.swatches.everyItem().name;  


with (myDialog)  


{  


 with (dialogColumns.add())  


 {  


  with (borderPanels.add())  


  {  


   staticTexts.add ({staticLabel:"Find"});  


   swf = dropdowns.add ({stringList:swatchlist, selectedIndex:0});  


   tbf = percentComboboxes.add({editValue:100, largeNudge:10, stringList:["25", "50", "75", "100"] });  


   tbfStrk = measurementEditboxes.add({editValue:0.5});  


  }  


  with (borderPanels.add())  


  {  


   staticTexts.add ({staticLabel:"Replace"});  


   swr = dropdowns.add ({stringList:swatchlist, selectedIndex:0});  


   tbr = percentComboboxes.add({editValue:100, largeNudge:10, stringList:["25", "50", "75", "100"] });  


   tbrStrk = measurementEditboxes.add({editValue:0.33});  


  }  


  with (borderPanels.add())  


  {  


   dostrokes = checkboxControls.add({staticLabel:"Change strokes", checkedState:true});  


   dofills = checkboxControls.add({staticLabel:"Change fills", checkedState:true});  


  }  


 }  


}  


if (!myDialog.show() || !(dostrokes.checkedState || dofills.checkedState))  


{  


 myDialog.destroy();  


 exit(0);  


}  


findtint = tbf.editValue;  


findStrk = tbfStrk.editValue;  


findswatch = app.activeDocument.swatches.item(swf.selectedIndex);  


changetint = tbr.editValue;  


changeStrk = tbrStrk.editValue;  


changeswatch = app.activeDocument.swatches.item(swr.selectedIndex);  


strokes = dostrokes.checkedState;  


fills = dofills.checkedState;  


fillchanges = 0;  


strokechanges = 0;  


tb = app.activeDocument.stories.everyItem().tables.everyItem().getElements();  


 for (t=tb.length-1; t>=0; t--)  


 {  


  tab = tb;  


  for (c=0; c<tab.cells.length; c++)  


  {  


   if (fills && tab.cells.fillColor == findswatch && tab.cells.fillTint == findtint)  


   {  


    fillchanges++;  


    tab.cells.properties = {fillColor:changeswatch, fillTint:changetint};  


   }  


   if (strokes)  


   {  


    s = false;  


    if (tab.cells.topEdgeStrokeColor == findswatch && tab.cells.topEdgeStrokeTint == findtint && tab.cells.topEdgeStrokeWeight == findStrk)  


    {  


     s = true;  


     tab.cells.properties = {topEdgeStrokeColor:changeswatch, topEdgeStrokeTint:changetint, topEdgeStrokeWeight:changeStrk};  


    }  


    if (tab.cells.bottomEdgeStrokeColor == findswatch && tab.cells.bottomEdgeStrokeTint == findtint && tab.cells.bottomEdgeStrokeWeight == findStrk)  


    {  


     s = true;  


     tab.cells.properties = {bottomEdgeStrokeColor:changeswatch, bottomEdgeStrokeTint:changetint, bottomEdgeStrokeWeight:changeStrk};  


    }  


    if (tab.cells.leftEdgeStrokeColor == findswatch && tab.cells.leftEdgeStrokeTint == findtint && tab.cells.leftEdgeStrokeWeight == findStrk)  


    {  


     s = true;  


     tab.cells.properties = {leftEdgeStrokeColor:changeswatch, leftEdgeStrokeTint:changetint, leftEdgeStrokeWeight:changeStrk};  


    }  


    if (tab.cells.rightEdgeStrokeColor == findswatch && tab.cells.rightEdgeStrokeTint == findtint && tab.cells.rightEdgeStrokeWeight == findStrk)  


    {  


     s = true;  


     tab.cells.properties = {rightEdgeStrokeColor:changeswatch, rightEdgeStrokeTint:changetint, rightEdgeStrokeWeight:changeStrk};  


    }  


    if (s)  


     strokechanges++;  


   }  


  }  


}


ch = "No changes made";  


if (fillchanges)  


{  


 ch = fillchanges+" fills changed";  


 if (strokechanges)  


  ch += "\n"+strokechanges+" strokes changed";  


} else if (strokechanges)  


  ch = strokechanges+" strokes changed";  


alert (ch); 

 

TOPICS
How to , Scripting

Views

837

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Community Expert , May 25, 2020 May 25, 2020

Seems like the code was broken when we shifted to the new forum software, i have fixed the code and it should work now

myDialog = app.dialogs.add({ name: "Recolor Tables", canCancel: true });
swatchlist = app.activeDocument.swatches.everyItem().name;
with (myDialog) {
    with (dialogColumns.add()) {
        with (borderPanels.add()) {
            staticTexts.add({ staticLabel: "Find" });
            swf = dropdowns.add({ stringList: swatchlist, selectedIndex: 0 });
            tbf = percentComb
...

Votes

Translate

Translate
Community Expert ,
May 25, 2020 May 25, 2020

Copy link to clipboard

Copied

Seems like the code was broken when we shifted to the new forum software, i have fixed the code and it should work now

myDialog = app.dialogs.add({ name: "Recolor Tables", canCancel: true });
swatchlist = app.activeDocument.swatches.everyItem().name;
with (myDialog) {
    with (dialogColumns.add()) {
        with (borderPanels.add()) {
            staticTexts.add({ staticLabel: "Find" });
            swf = dropdowns.add({ stringList: swatchlist, selectedIndex: 0 });
            tbf = percentComboboxes.add({ editValue: 100, largeNudge: 10, stringList: ["25", "50", "75", "100"] });
            tbfStrk = measurementEditboxes.add({ editValue: 0.5 });
        }
        with (borderPanels.add()) {
            staticTexts.add({ staticLabel: "Replace" });
            swr = dropdowns.add({ stringList: swatchlist, selectedIndex: 0 });
            tbr = percentComboboxes.add({ editValue: 100, largeNudge: 10, stringList: ["25", "50", "75", "100"] });
            tbrStrk = measurementEditboxes.add({ editValue: 0.33 });
        }
        with (borderPanels.add()) {
            dostrokes = checkboxControls.add({ staticLabel: "Change strokes", checkedState: true });
            dofills = checkboxControls.add({ staticLabel: "Change fills", checkedState: true });
        }
    }
}
if (!myDialog.show() || !(dostrokes.checkedState || dofills.checkedState)) {
    myDialog.destroy();
    exit(0);
}
findtint = tbf.editValue;
findStrk = tbfStrk.editValue;
findswatch = app.activeDocument.swatches.item(swf.selectedIndex);
changetint = tbr.editValue;
changeStrk = tbrStrk.editValue;
changeswatch = app.activeDocument.swatches.item(swr.selectedIndex);
strokes = dostrokes.checkedState;
fills = dofills.checkedState;
fillchanges = 0;
strokechanges = 0;
tb = app.activeDocument.stories.everyItem().tables.everyItem().getElements();
for (t = tb.length - 1; t >= 0; t--) {
    tab = tb[t];
    for (c = 0; c < tab.cells.length; c++) {
        if (fills && tab.cells[c].fillColor == findswatch && tab.cells[c].fillTint == findtint) {
            fillchanges++;
            tab.cells[c].properties = { fillColor: changeswatch, fillTint: changetint };
        }
        if (strokes) {
            s = false;
            if (tab.cells[c].topEdgeStrokeColor == findswatch && tab.cells[c].topEdgeStrokeTint == findtint && tab.cells[c].topEdgeStrokeWeight == findStrk) {
                s = true;
                tab.cells[c].properties = { topEdgeStrokeColor: changeswatch, topEdgeStrokeTint: changetint, topEdgeStrokeWeight: changeStrk };
            }
            if (tab.cells[c].bottomEdgeStrokeColor == findswatch && tab.cells[c].bottomEdgeStrokeTint == findtint && tab.cells[c].bottomEdgeStrokeWeight == findStrk) {
                s = true;
                tab.cells[c].properties = { bottomEdgeStrokeColor: changeswatch, bottomEdgeStrokeTint: changetint, bottomEdgeStrokeWeight: changeStrk };
            }
            if (tab.cells[c].leftEdgeStrokeColor == findswatch && tab.cells[c].leftEdgeStrokeTint == findtint && tab.cells[c].leftEdgeStrokeWeight == findStrk) {
                s = true;
                tab.cells[c].properties = { leftEdgeStrokeColor: changeswatch, leftEdgeStrokeTint: changetint, leftEdgeStrokeWeight: changeStrk };
            }
            if (tab.cells[c].rightEdgeStrokeColor == findswatch && tab.cells[c].rightEdgeStrokeTint == findtint && tab.cells[c].rightEdgeStrokeWeight == findStrk) {
                s = true;
                tab.cells[c].properties = { rightEdgeStrokeColor: changeswatch, rightEdgeStrokeTint: changetint, rightEdgeStrokeWeight: changeStrk };
            }
            if (s)
                strokechanges++;
        }
    }
}
ch = "No changes made";
if (fillchanges) {
    ch = fillchanges + " fills changed";
    if (strokechanges)
        ch += "\n" + strokechanges + " strokes changed";
} else if (strokechanges)
    ch = strokechanges + " strokes changed";
alert(ch);

 

Please update if it works so that we can post the correction on the original thread as well

 

-Manan

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
May 26, 2020 May 26, 2020

Copy link to clipboard

Copied

LATEST

Hi Manan, thank you so much for your help! It worked beautifully. Thank you thank you thank you!!!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines