我有这段代码应根据单元格的值设置自定义格式编号。
function fixFormat() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("K1:K30");
var rows = range.getNumRows();
var cols = range.getNumColumns();
for(var row = 1; row <= rows; row++) {
for(var col = 1; col <= cols; col++) {
var cell = range.getCell(row, col);
var value = cell.getValue();
if (value > 1000) {
cell.setNumberFormat("#.###B");
} else {
cell.setNumberFormat("#.###");
}
}
}
}
当配置为触发器(onChange)时,它根本不运行,当被称为=fixFormat()
时,我收到错误:You don't have permission to call setNumberFormat.
我该怎么做才能解决这个问题?
答案 0 :(得分:0)
发现问题
电子表格:只读(可以使用大多数get *()方法,但不能设置*())。无法打开其他电子表格(SpreadsheetApp.openById()或SpreadsheetApp.openByUrl())。
所以解决方案(勉强)就是使用support page