有时,当更改单元格的值时,公式不会在电子表格中自动刷新,并且单元格上会显示注释以选择单元格并按CTRL + SHIFT + E强制重新加载公式
我想从Apps脚本中调用此重新加载功能。有没有办法用Apps脚本做到这一点?我试过Spreadsheet.flush(),但它没有用。
感谢您的帮助, 最好的问候
答案 0 :(得分:1)
或许这个“不可能”的答案已经随着新的电子表格或自2012年以来的其他时间而改变。
如果存储单元格的公式,清除单元格,然后设置单元格的公式,它似乎重新评估对我来说很好。
以下是对我正在做的事情的快速而肮脏的概述:
// highlight a single cell and run this function
function myFunction() {
var curr_cell = SpreadsheetApp.getActiveRange();
var formula = curr_cell.getFormula();
// clear only the contents, not notes or comments or formatting.
curr_cell.clearContents();
curr_cell.setFormula(formula);
}
答案 1 :(得分:0)
不幸的是,无法使用Apps Script触发重新评估公式。
答案 2 :(得分:0)
这应该可行,设置一些其他公式并再次恢复它
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getDataRange();
var values = range.getValues();
var formulas = range.getFormulas()
for (var i = 0; i < formulas.length; i++) {
for (var j = 0; j < formulas[i].length; j++) {
if (formulas[i][j]) {
var f = sheet.getRange(i + 1, j + 1).clearContent().setFormula('=true');
SpreadsheetApp.flush();
f.setFormula(formulas[i][j])
}
}
}