google-apps-script - 谷歌脚本自定义触发器 onEdit(e) 问题
问题描述
我在第 29 行遇到错误。但是当粘贴到另一张纸上时,相同的代码可以工作。使用单独的触发器。编辑-> 当前项目的触发器。
var Team_email='abc@gmail.com';
function TriggerOnEdit(e)
{
Logger.log("stg1");
sendEmailOnassigned(e);
}
function showMessageOnApproval(e)
{
var edited_row = checkStatusIsAssigned(e);
if(edited_row > 0)
{
SpreadsheetApp.getUi().alert("Row # "+edited_row+" approved!");
}
}
function showMessageOnUpdate(e)
{
var range = e.range;
SpreadsheetApp.getUi().alert("range updated " + range.getA1Notation());
}
function checkStatusIsAssigned(e)
{
Logger.log("stg3");
var range = e.range;
if(range.getColumn() <= 12 &&
range.getLastColumn() >=12 )
{
var edited_row = range.getRow();
var status = SpreadsheetApp.getActiveSheet().getRange(edited_row,11).getValue();
if(status == 'Assigned')
{
return edited_row;
}
}
return 0;
}
function sendEmailOnassigned(e)
{
Logger.log("stg2");
var approved_row = checkStatusIsAssigned(e);
if(approved_row <= 0)
{
return;
}
Logger.log("stg4");
sendEmailByRow(approved_row);
}
function sendEmailByRow(row)
{
Logger.log("stg5");
var values = SpreadsheetApp.getActiveSheet().getRange(row,1,row,13).getValues();
var row_values = values[0];
var mail = composeAssignedEmail(row_values);
MailApp.sendEmail(Team_email,mail.subject,mail.message);
var Requester_email = composeRequesterEmail(row_values);
MailApp.sendEmail(Requester_email.email,Requester_email.subject,Requester_email.message);
}
function composeAssignedEmail(row_values)
{
Logger.log("stg6");
var Request_Number = row_values[1];
var email = row_values[2];
var Project_Name = row_values[4];
var Nature_Of_Work = row_values[5];
var Quantity = row_values[6];
var Estimated_Hours = row_values[7];
var Name = row_values[12];
var message = "Hello Requester, \n "+" \n The following Resource "+ Name ;
var subject = "Request_Number - " + Request_Number ;
return({message:message,subject:subject});
}
function composeRequesterEmail(row_values)
{
Logger.log("stg7");
var Request_Number = row_values[1];
var email = row_values[2] ;
var Project_Name = row_values[4];
var Nature_Of_Work = row_values[5];
var Quantity = row_values[6];
var Estimated_Hours = row_values[7];
var Name = row_values[12];
var message = "Hello Requester, \n "+" \n The following Resource "+ Name;
var subject = "Request_Number - " + Request_Number;
return({message:message,subject:subject, email:email });
}
请告诉我错误在哪里。
我们不能使用调试功能来理解错误。因为触发器正在编辑。
另外,当我们使用“e”时,我们向函数提供什么信息?
如何纠正这个?
解决方案
推荐阅读
- html - 将叠加在图像上的整个画布块居中
- python - 创建一个函数,从其输入参数的数字中生成最小的数字
- java - CrudRepository 返回 null
- reactjs - 如何在 React 中正确实现 Redux
- ms-access - msoMethodPost FollowHyperlink 访问 PHP
- java - 在客户端禁用 SSL 证书验证以在测试环境中进行消息测试
- flutter - TextFormField 中的控制器和初始值不起作用
- python - 在 KivyMD 上的 long_press_button 上留下循环的问题
- iphone - Google Drive 视频嵌入网站,PC 和 Android 可以播放视频,iPhone 无法播放视频
- python - Geopy Nominatim 破坏了 Heroku 部署