Я хочу использовать один и тот же скрипт Google дважды на листе Google, но он будет запускаться только один раз - PullRequest
0 голосов
/ 08 апреля 2020

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

Вот сценарий, из которого я помещал скрипт:

var sourceSpreadsheetID = "INPUT1";//these are global Cooper Edit
var sourceWorksheetName = "INPUT1";
var targetSpreadsheetID = "INPUT1";
var targetWorksheetName = "INPUT1";

function importData1() {
  var thisSpreadsheet = SpreadsheetApp.openById(sourceSpreadsheetID);
  var thisWorksheet = thisSpreadsheet.getSheetByName(sourceWorksheetName);
  var thisData = thisWorksheet.getDataRange().getValues();
  var toSpreadsheet = SpreadsheetApp.openById(targetSpreadsheetID);
  var toWorksheet = toSpreadsheet.getSheetByName(targetWorksheetName);
  toWorksheet.clearContents();
  toWorksheet.getRange(1, 1, thisData.length, thisData[0].length).setValues(thisData); 
}



    var sourceSpreadsheetID = "INPUT2";//these are global Cooper Edit
    var sourceWorksheetName = "INPUT2";
    var targetSpreadsheetID = "INPUT2";
    var targetWorksheetName = "INPUT2";

    function importData2() {
      var thisSpreadsheet = SpreadsheetApp.openById(sourceSpreadsheetID);
      var thisWorksheet = thisSpreadsheet.getSheetByName(sourceWorksheetName);
      var thisData = thisWorksheet.getDataRange().getValues();
      var toSpreadsheet = SpreadsheetApp.openById(targetSpreadsheetID);
      var toWorksheet = toSpreadsheet.getSheetByName(targetWorksheetName);
      toWorksheet.clearContents();
      toWorksheet.getRange(1, 1, thisData.length, thisData[0].length).setValues(thisData); 
    }

Редактор Купера: Глобальные объявления запускаются каждый раз, когда вы запускаете каждую функцию.

1 Ответ

1 голос
/ 08 апреля 2020

Если вы хотите запустить обе функции из одного вызова, добавьте посредника, который будет вызывать обе функции. например,

function middleman(){
  importData1();
  importData2();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...