如果Google表单传入行中的单元格具有特定值,请运行脚本函数

问题描述

我想在Google表格(来自Google表单)中输入新条目,并根据B列中的响应在它们上运行某个触发器。我已经写出了代码(它将信息发送到Google Doc模板),并建立了触发器,但它不会区分B列中的数据。

这是我正在研究的内容的非常普通的版本:FormWorkbookDoc

这是我得到的代码

function Bob(e) {
  var timestamp = e.values[0];
  var name = e.values[1];
  var awesome = e.values[2];
  
  var file = DriveApp.getFileById('1BxK26Yim0-nAVQW5FcQ59q3Uxe2qm9EhClLE1thSdMU'); 
  var folder = DriveApp.getFolderById('149gm5Voa3tthmv66cF5kJmf3bf2zj-VA')
  
  var copy = file.makecopy(name,folder); 
  
  var doc = DocumentApp.openById(copy.getId()); 
  
  var body = doc.getBody(); 
  
  body.replaceText('{{Timestamp}}',timestamp); 
  body.replaceText('{{Name}}',name);  
  body.replaceText('{{Awesome}}',awesome); 
  
  doc.saveAndClose(); 
}

因此,从本质上讲,如果B列表示Bob,则触发器将启动,并且该函数将运行。如果显示为Joe,则单独的触发器将运行不同的功能(我尚未设置,但假设它仅是复制粘贴作业)。我的猜测是,在函数运行之前,它仅需要几行以if语句的形式出现,但是我对此很陌生。

谢谢

解决方法

使用if语句添加条件,即

function Bob(e){
  if(e.values[1] === 'Bob'){
    // Add here what you want you function does when the corresponding cell of Column B is equal to "Bob"
  }
}