Hm…
Will it work, if you address the cells directly, eg. by using a selection of the table through the GUI ?
// Table selected:
var table = app.selection[0];
var cells = table.cells.everyItem().getElements();
cells[0].properties = {topEdgeStrokeWeight:1, rightEdgeStrokeWeight:1, bottomEdgeStrokeWeight:0, leftEdgeStrokeWeight:1};
cells[1].properties = {topEdgeStrokeWeight:0, rightEdgeStrokeWeight:1, bottomEdgeStrokeWeight:0, leftEdgeStrokeWeight:1};
cells[2].properties = {topEdgeStrokeWeight:0, rightEdgeStrokeWeight:1, bottomEdgeStrokeWeight:1, leftEdgeStrokeWeight:1};
I had no issue when I did that with a simple test document.
Did not look much into your code, but do you really address cell objects on your page?
Check what exactly is in variable attCellsScript when running evaluateXPathExpression().
As far as I know an array of xmlElements should be returned.
And every element in that array could have a property cells.
https://www.indesignjs.de/extendscriptAPI/indesign-latest/#XMLElement.html
Some dummy code to test for cell objects in the returned array of xmlElements:
var xmlElementsArray = doc.xmlElements[0].evaluateXPathExpression("//"+cell );
for( var n=0; n<xmlElementsArray.length; n++ )
{
$.writeln( n +"\t"+ xmlElementsArray[n].cells.length )
};
Regards,
Uwe Laubender
( Adobe Community Professional )