Принудительное обновление формулы с помощью ГАЗА - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть скрипт, который опирается на данные, извлекаемые из другого листа.Единственная проблема заключается в том, что для обновления нужно потратить некоторое время (10 с или около того).Для этого я использую QUERY в сочетании с * 1002. *формула в клетке и затем отмена?Я попытался написать немного кода для этого:

var sqlCell = ss.getSheetByName("LOOKUP").getRange("L4");
var sqlCellFormula = sqlCell.getFormula();
sqlCell.setFormula("");
sqlCell.setFormula(sqlCellFormula);
Utilities.sleep(1000);
SpreadsheetApp.flush();

Но по какой-то причине это совсем не работает.SLEEP и FLUSH были просто отчаянием!

Любая помощь, как всегда с благодарностью полученная.

1 Ответ

0 голосов
/ 01 марта 2019

переменная ss не определена

Попробуйте это:

function sqlcell() {
  var ss=SpreadsheetApp.getActive();
  var sqlCell = ss.getSheetByName("LOOKUP").getRange("L4");
  var sqlCellFormula = sqlCell.getFormula();
  sqlCell.setFormula("");
  sqlCell.setFormula(sqlCellFormula);
}

Я немного исследовал это и решил поместить эту формулу в L4: =sum(A1:A20) И в A2: я поставил =A1 + 1 и скопировал его в A20, а затем в функцию, которую я добавляю по одному в A1 каждый раз, когда он запускается.

function sqlTest() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('LOOKUP');
  var rg=sh.getRange("L4");
  sh.getRange('A1').setValue(sh.getRange('A1').getValue()+1);
  //var sqlCellFormula = '=sum(A1:A20)';
  var sqlCellFormula = rg.getFormula();
  var T1=rg.getFormula();
  rg.setFormula("");
  var T2=rg.getFormula();
  rg.setFormula(sqlCellFormula);
  var T3=rg.getFormula();
  var ui=HtmlService.createHtmlOutput(Utilities.formatString('<br />T1: %s<br />T2: %s<br />T3: %s',T1,T2,T3 ));
  SpreadsheetApp.getUi().showModelessDialog(ui, 'getFormula()')
  var end="is near";
}

Сначала я получил ошибки «#REF» в T1, но затем сбросил A1 обратно в1 и по неизвестной причине он начал работать как ожидалось.Я не знаю почему.Но это позволяет данным каждый раз немного изменяться, чтобы увидеть, работает ли формула.

Извините, я не мог быть более полезным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...