通过Google Apps脚本力公式刷新(Force formula refresh through

2019-09-22 10:58发布

有时,改变单元格的值时,一式不会自动电子表格中的刷新和注释出现在小区选择单元格,并按下CTRL + SHIFT + E以强制式重装

我想打电话从Google Apps脚本这个重载函数。 有没有一种方法使用Apps脚本做呢? 我试图Spreadsheet.flush(),但它不工作。

感谢您的帮助,最好的问候

Answer 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);
}


Answer 2:

不幸的是这是不可能的触发使用Google Apps脚本公式的重新评估。



Answer 3:

这应该工作,设置一些其他配方并重新恢复它

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])
        }
    }
}


文章来源: Force formula refresh through Apps Script