I was not aware of the 32768 limitation; I'm following up on that.
What version of Office are you targeting? If it's Office 2016 / Office Online / iOS, you can use our new 2016 wave of APIs, which would almost certainly not have this limitation. It would be something like:
Excel.run(function(ctx) {
var bindingRange = ctx.workbook.bindings.getItem("MyBinding").getRange();
bindingRange.load("values");
bindingRange.format.fill.clear();
return ctx.sync()
.then(function() {
for (var i = 0; i < bindingRange.values.length; i++) {
if (bindingRange.values[i][0] < 10) {
bindingRange.getRow(i).format.fill.color = "red";
}
}
})
.then(ctx.sync);
});
There's a small chance you may run into a slowdown, depending on the number of rows you are formatting (essentially, how many getRow() calls you're making), if it's in the many-thousands. If you do, let me know, and I should be able to give you a workaround for that.
~ Michael Zlatkovsky, developer on Office Extensibility team, MSFT