已触发的电子邮件自迁移到V8运行时以来不起作用

问题描述 投票:0回答:1

[首先,我要说的是我所有的编码都是自学的,因此我的知识是有效的,但并不深入。我正在为公司的人力资源团队创建Google工作表,以跟踪带薪休假。我建立了触发器,以便在提交时间后发送电子邮件。它在迁移到V8之前就可以使用,但是现在还不行,而且我对语法的了解还不足以找到问题。

function sendNotification(e){

  if(e.range.getColumn()=13 && e.value='Yes')

{
 //Employee Name and Email Address
 var EmployeeName = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("PTO Earnings").getRange("R3"); 
 var Employee = EmployeeName.getValue(); 
 var EmployeeEmailRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("PTO Earnings").getRange("S3");
 var EmployeeEmailAddress = EmployeeEmailRange.getValues();

 //Approver Name and Email Address
 var ApproverName = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("PTO Earnings").getRange("R4"); 
 var Approver = ApproverName.getValue();
 var ApproverEmailRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("PTO Earnings").getRange("S4");
 var ApproverEmailAddress = ApproverEmailRange.getValues();

 //HR Email Address
 var HREmailRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("PTO Earnings").getRange("S5");
 var HREmailAddress = HREmailRange.getValues();

 //Link to Employee's PTO Spreadsheet 
 var SheetLink = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("PTO Earnings").getRange("R1"); 
 var Link = SheetLink.getValue();

 //Email Content
 var subject = 'PTO Submitted for '+Employee+' for '+e.range.getSheet().getName()+'.';
 var body = 'Dear '+Approver+','+"\n\n"+'A PTO Request has been submitted by: '+Employee+', at:'+"\n\n"+Link +"\n\n"+'Thank you.'+"\n\n"+'Imagine This HR';
 var recipient = [EmployeeEmailAddress, ApproverEmailAddress,HREmailAddress];

 MailApp.sendEmail(recipient, subject, body);
 }
}

请帮助!

google-apps-script syntax triggers
1个回答
0
投票

向V8迁移是可选的。如果您还没有准备好或者没有时间使您的代码与之兼容,只需禁用它即可。为此,请点击运行>禁用由Chrome V8驱动的新Apps脚本运行时。

© www.soinside.com 2019 - 2024. All rights reserved.