我需要在onEdit

时间:2019-12-11 21:20:45

标签: google-apps-script google-sheets google-apps-script-simple-triggers

我正在尝试创建一个脚本,以便当我编辑A列中的文本时,它会自动删除同一行D列中的文本以及C列是否位于同一行中(它包含我的文件ID)驱动器)不为空,然后删除该文件。

我成功创建了它,并且在test中显式运行脚本时它可以正常工作,但是onEdit事件似乎从未触发过(甚至看不到日志消息)。 有谁知道它是如何工作的?

    function onEdit(e) {
  var currentSheet = e.range.getSheet();
  var sheetEdited = currentSheet.getName();
  var rowEdited = e.range.getRow();
  var columnEdited = e.range.getColumn();

  // if cell edited in sheet name form 1 and in column 1 then
  if(sheetEdited == "form 1" && ( columnEdited == 1)){ 
  // delete text in edited row column D
    currentSheet.getRange(rowEdited,4).setValue('');
  // if on edited row column C(that contain doc id ) if filled then detele that file 
   if (sheetId != "") {
         var sheetId = currentSheet.getRange(rowEdited,3).getValues();
         DriveApp.getFileById(sheetId).setTrashed(true);
    }
  }
}

1 个答案:

答案 0 :(得分:1)

问题在于简单的触发器无法执行需要授权的操作。因此,您必须使用installable trigger。不要忘记更改函数的名称。

libc.so