0

我有一张表格链接到客户投诉表单。我希望这样,当一个投诉升级到一个单元格列出的某个人(H列)时,它会通过电子邮件告诉他们他们有一个需要查看的问题。我拿了别人在这里写的另一个脚本的部分内容,并试图修改它的工作方式,但不管这个单元格的内容是什么,它只是给脚本中列出的第一个人发送电子邮件。此外,有些时候单元格可能是空白的,并且不需要发送电子邮件。对不起,我很新。使用Google工作表脚本根据单元格中的姓名向某人发送电子邮件的问题

function send() { 
//Sort entries so most recent is at top of spreadsheet and pause 
getSpreadSheet(); 
Utilities.sleep(500); 

//Declare global variables 
    var to; 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getActiveSheet(); 
    var eaddress = sheet.getRange('H2').getValue().toString(); 

// Determine who to email 
    if (eaddress = "User 1") { 
    to = "[email protected]"; 
    } else if (eaddress = "User 2") { 
    to = "[email protected]"; 
    } else if (eaddress = "User 3") { 
    to = "[email protected]"; 
    } else if (eaddress = "User 4") { 
    to = "[email protected]"; 
    } 

// Email sent 

var subject = 'Customer Complaint'; 
var body = 'A customer complaint form has been submitted and escalated to you' 
MailApp.sendEmail(to, subject, body); 
} 

回答

0
function send() 
{ 
    //Sort entries so most recent is at top of spreadsheet and pause 
    getSpreadSheet(); 

    var to; 
    var ss=SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet=ss.getActiveSheet(); 
    var eaddress=sheet.getRange('H2').getValue(); 
    if(eaddress) 
    { 
    switch(eaddress) 
    { 
     case 'User 1': 
     to="[email protected]" 
     break; 
     case 'User 2': 
     to="[email protected]" 
     break; 
     case 'User 3': 
     to="[email protected]" 
     break; 
     case 'User 4': 
     to="[email protected]" 
     break; 
    } 
    var subject = 'Customer Complaint'; 
    var body = 'A customer complaint form has been submitted and escalated to you' 
    MailApp.sendEmail(to, subject, body); 
    } 
} 
0

有在脚本中多个问题,但最明显的一个是使用赋值运算符“=”而不是“==”和“===”实际使用来比较值。如果您想避免JS中的类型推断,请使用'if(x == y)'或'if(x === y)'。

在前一种情况下,如果比较5(数字)和'5',使用'=='实际上会返回true,因为JS引擎会尝试将值设置为相同类型。使用'==='将进行比较,同时也考虑变量类型。

您的脚本通过电子邮件发送第一个人,因为您将该电子邮件分配给脚本中的变量并且不进行任何比较。

相关问题