Запустите код сценария приложения, содержащий оператор If (Как автоматически запускать?) - Google Apps Script / Google Sheets - PullRequest
0 голосов
/ 16 февраля 2020

У меня есть приведенный ниже код, который запускается с намерением - если вы запускаете сценарий вручную.

Данные отображаются на этом листе («TOP UP NEEDED») через скрипт MoveRow (без редактирования человеком)

 function IfStatement() {
 var app = SpreadsheetApp;
 var activeSheet = app.getActive().getActiveSheet();
 var workingCell = activeSheet.getRange(2, 1).getValue();
 if (workingCell === "") return;  // Modified

 var sheet = SpreadsheetApp.getActive();
 sheet.setActiveSheet(sheet.getSheetByName('TOP UP NEEDED'), true);
 sheet.getRange('D2').activate();

 sheet.getCurrentCell().setFormula('=QUERY({\'SKU & Qty\'!$A$3:$C},"SELECT * WHERE Col1 MATCHES \'" & 
 JOIN("|",FILTER(A:A, NOT(ISBLANK(A:A)))) & "\' ")');

 addCheckboxToI2();

 MoveDataToFORKLIFT();

var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('TOP UP NEEDED'), true);
spreadsheet.getRange('A2:G30').activate();
spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
spreadsheet.getRange('A2').activate();

DELETESHEETS();

addCheckboxToG2FORKLIFT(); 
}

В настоящее время, когда данные поступают в «TOP UP NEEDED» - скрипт не запускается.

Ожидаемый результат = Когда A2: A имеет данные, он должен запустить скрипт. Когда A2: A "" - ничего не должно происходить.

Заранее спасибо

1 Ответ

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

Из документации :

Выполнения сценариев и запросы API не приводят к запуску триггеров. Например, вызов Range.setValue () для редактирования ячейки не приводит к запуску триггера onEdit электронной таблицы.

Если ваша функция IfStatement() уже работает, просто вызовите ее в конце вашего MoveRow сценарий.

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