В форме Google Отправить чистые ячейки активной строки в Google Sheets - PullRequest
0 голосов
/ 29 августа 2018

Я совершенно новичок в скрипте google sheet и ищу помощь. Я пытаюсь создать скрипт Google, который будет стирать ячейки в листе ответов после того, как пользователь отправил его. Поскольку это может быть URL для редактирования формы, он не обязательно должен быть последней строкой.

Таким образом, каждый раз, когда форма отправляется / редактируется, столбцы AN: AQ очищаются.

Любая помощь с благодарностью


Я добавляю рабочий скрипт к вопросу ОП для всех, кто сталкивался с этим.

function onFormSubmit11(e) { 
   var range = e.range; 
   var ss = range.getSheet(); 
   var row = range.getRowIndex(); 

ss.getRange("AN"+row).clear(); 
ss.getRange("AO"+row).clear(); 
ss.getRange("AP"+row).clear() 
ss.getRange("AQ"+row).clear() 
} 

Ответы [ 2 ]

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

Вы можете попробовать что-нибудь простое, например, onFormSubmit, который запускает скрипт через вашу связанную электронную таблицу. Приведенный ниже сценарий будет очищать AN: AQ каждый раз при отправке формы, которая, как я думаю, вы запрашиваете.

Что касается edit , это то, что я пытаюсь выяснить сам в своем собственном вопросе!

function onFormSubmit() {

var ss = SpreadsheetApp.getActiveSpreadsheet()
var sh = ss.getActiveSheet()

sh.getRange('AN1:AQ').clear();

}

Привет еще раз,

Попробуйте это ниже. Как и прежде, убедитесь, что ваш триггер установлен на OnFormSubmit и он должен работать без сбоев. Я сам проверил, он только очистил диапазон между AN: AQ в строке (везде, где редактируется форма). Если вы хотите удалить различные разделы, просто замените AN: AQ для любого столбца (столбцов), который вы хотите очистить.

function onFormSubmit(e) {

var range = e.range;
var ss = range.getSheet();
var row = range.getRowIndex(); 

ss.getRange("AN:AQ"+row).clear();

}
0 голосов
/ 29 августа 2018

Триггер электронной таблицы, вызываемый формой Google, содержит объект Range. Вы можете получить лист, связанный с диапазоном, а также индекс строки, связанной с текущей отправкой формы.

function formTrigger(e) {
  var range = e.range;
  var sheet = range.getSheet();
  var rowIndex = row.getRowIndex();
  sheet.getRange(rowIndex + 1, 1).setValue("Hello");
}
...