скрипт приложения получает переменную в библиотеку - PullRequest
0 голосов
/ 08 июля 2020

У меня есть связанный сценарий для листа, который также использует автономный сценарий в ресурсах библиотеки. Я пытаюсь отправить идентификатор листа в библиотеку, чтобы автономный скрипт мог использовать этот идентификатор.

Связанный сценарий для отправки идентификатора функции copyLastRow

function onOpen() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); // Get Active spreadsheet object
var sh = spreadsheet.getActiveSheet(); // Get Active sheet's object
var shId = sh.getSheetId();
Invoice.copyLastRow(shId);
}

Проблема, с которой я столкнулся, не знать правильный код для получения идентификатора в автономном скрипте (счет-фактура). Кто-нибудь может привести пример.

1 Ответ

0 голосов
/ 08 июля 2020
function onMyOpen() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); // Get Active spreadsheet object
  var sh = spreadsheet.getActiveSheet(); // Get Active sheet's object
  var shId = sh.getSheetId();
  Invoice.copyLastRow(shId);
}

Сначала выполните следующее:

function createTriggerforAboveFunction() {
  const ss=SpreadsheetApp.getActive();
  if(!isTrigger(onMyOpen())) {
    ScriptApp.newTrigger('onMyOpen').forSpreadsheet(ss.getId()).onOpen().create();
  }
}

вспомогательная функция:

function isTrigger(funcName){
  var r=false;
  if(funcName){
    var allTriggers=ScriptApp.getProjectTriggers();
    for (let i=0;i<allTriggers.length;i++){
      if(funcName==allTriggers[i].getHandlerFunction()){
        r=true;
        break;
      }
    }
  }
  return r;
}

простые ограничения триггера

...