Правильно написанное в скриптах на редакторе - PullRequest
0 голосов
/ 27 августа 2018

У меня есть файл Google Sheets с 3 электронными таблицами. Каждый из первых 2 содержит множество числовых записей. Все, что я хочу сделать, это изменить одно значение ячейки на третье (tt), если какие-либо данные будут изменены на другом листе. Глядя на мой неполный сценарий onEdit (), вы увидите, что я, очевидно, не знаю, что я делаю. Как изменить значение ячейки «a5» в третьей электронной таблице (tt) для любых изменений, внесенных в любом месте только в первых двух?

function onEdit(event)
{
  var aa = event.SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Input-Expenses");
  var ss = event.SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Input-Income-n-Assets");
  var tt = event.SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Run Program");
  var r = event.aa.getActiveRange('a1:r105');
  var s = event.ss.getActiveRange('d1:q94');
  var g =  0
  tt.getRange('a5').setValue(g);  
}

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

Это должно делать то, что вы хотите

function onEdit(event) {
  try {
    var aName = event.range.getSheet().getName();  // Active sheet
    if( ( aName === "Input-Expenses" ) || ( aName === "Input-Income-n-Assets" ) ) {
      // You said anywhere on these 2 sheets and put in Run Program:A5
      event.source.getSheetByName("Run Program").getRange("A5").setValue(0);
    }
  }
  catch(err) {
    SpreadsheetApp.getUi().alert(err);
  }
}
0 голосов
/ 27 августа 2018

Вы должны обратиться к этой статье:

https://developers.google.com/apps-script/guides/triggers/

Поиск триггера редактирования.

range Объект Range, представляющий ячейку или диапазон ячеек, которые были отредактированы.

Использование:

var editedRange = event.range; 
var editedSheet = editedRange.getSheet();
if (editedSheet.getName() === 'Sheet1')
{
  var targetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2");
  // do smth
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...