我已设置Google表单以记录用户报告的有关我们维护的数据库的错误。回复会转到Google表格中,并会记录用户的电子邮件。从本质上讲,我希望在Google表格中有一个状态字段 - 当它设置为"完成" (这将与响应位于同一行)我希望将电子邮件自动发送给提交响应的用户,让他们知道他们的响应状态是否已完成。有点像许多公司使用的票务系统(但我们没有足够的带宽来设置它,所以我们正在寻找简单/免费的东西)。
答案 0 :(得分:1)
您无法在onEdit触发器内发送电子邮件。因此,您必须在某处保存编辑内容,可能在UserProperties中,并且有一个基于时间的触发器,每分钟都会将此值发送到您的电子邮件中。
请参阅:Email Notifications in Google Spreadsheets。
Google电子表格支持行编辑的电子邮件通知(工具 - 通知规则),但上次我尝试时,它从未奏效。
答案 1 :(得分:0)
创建onEdit()
函数,在编辑时捕获单元格值,然后运行代码。
function onEdit(e){
// Capture the cells value after it is edited
var valCell = e.value;
Logger.log('The cell value is: ' + valCell);
if (valCell === "Complete") {
//Get the range of the cell
var theRange = e.range;
//Get the row of the range
var theRowOfEdit = theRange.getRow();
// Returns the cell with email
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cell = sheet.getRange("B" + theRowOfEdit.toString());
//Get the user email
var userEmail = cell.getValue();
//Send the email
}
}
这不是您需要的完整代码。但是,设置此代码;测试它,调试它,如果你有一个特定的问题,发布另一个问题,错误信息和代码行不起作用。
在代码编辑器和/或Logger.log()
语句中使用debug来调试代码。