Как применить диапазон импорта к ячейке через appscript? - PullRequest
0 голосов
/ 28 января 2020

Мне нужно синхронизировать c страницу только при нажатии кнопки (Применить формулы через appscript). Так что моя проблема в том, что так много листов связаны между собой. Всякий раз, когда люди из моей команды обновляют листы, другие листы замедляются, потому что листы связаны. Так что нужно всякий раз, когда я нажимаю кнопку синхронизации, получить обновленные данные.

1 Ответ

0 голосов
/ 14 февраля 2020

следующий скрипт вставит форму importrange, а затем отсоединит ее, скопировав данные и заменив формулу.

По существу, при запуске сценария

1) он вставляет формулу importange

2) копирует данные и вставляет их снова, удаляя область импорта формула.

function ImportOnDemand() {
  var app = SpreadsheetApp;
  var ss = app.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Test");// sheet where you want to place your importrange formula
  sheet.getDataRange().clearContent();
  sheet.getRange(1,1).setValue('=importrange("https://docs.google.com/spreadsheets/d/examplesheet/edit#gid=0","Master!A1:A100")')//replace original importrangeformula here, use ' to insert formula
  var rangeToCopy = sheet.getDataRange();
  rangeToCopy.copyTo(sheet.getRange(1,1),{formatOnly:true});
  rangeToCopy.copyTo(sheet.getRange(1,1),{contentsOnly:true}); //static the data so it is no longer connected
}
...