背景:我在学区工作,目前我正在尝试使用Google表格和Google表格来跟踪员工的出勤情况。我已经找到了表格,但是我正在尝试用表格做的事情超出了我的能力,尽管我愿意学习。
工作表末尾有两个单元格,供主管“批准”和“签署”请求。我希望一旦他们的主管在表格中回复,该表格通过电子邮件向请求休假的人发送电子邮件。
如果“已批准”=“是”&&在“签名”单元格中有文本,发送电子邮件(从表格中拉出)给请求者说“您的缺席请求已被批准用于以下日期:(来自电子表格的日期)。如果”未批准“&& “签名”单元格中有文字,发送电子邮件说“您的缺席请求在以下日期已被拒绝:(来自工作表的日期)。
这是电子表格中的link(已于3/20/17更新)。
仅供参考:我已经习惯了一点点JavaScript,但实际上不是非常多,所以请耐心等待!
更新:我用以下代码解决了我的第二个问题:
function onEdit() {
// moves a row from "Form Responses 1" to "Signed" when the value in column 29 !==""
// After row is moved it is deleted from "Form Responses 1"
var sheetNameToWatch = "Form Responses 1";
var columnNumberToWatch = 29; // column A = 1, B = 2, etc.
var sheetNameToMoveTheRowTo = "Signed";
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getActiveCell();
if (sheet.getName() == sheetNameToWatch && range.getColumn() == columnNumberToWatch && range.getValue() !== "") {
var targetSheet = ss.getSheetByName("Signed");
var targetRange = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
sheet.getRange(range.getRow(), 1, 1, sheet.getLastColumn()).copyTo(targetRange);
sheet.deleteRow(range.getRow());
}
}
现在,我想使用时间驱动的触发器每天向每个提交者发送电子邮件,该提交者的提交已获批准,位于“已签名”表单中,并且尚未收到已提交的电子邮件。那么,现在我的问题是如何让两个触发器在同一张纸上工作?
答案 0 :(得分:0)
您可以使用时间来检查这些批准以及每天结束的时间。确保您设置了某种时间戳,以便您知道过去的批准已完成,因此您不会发送多封电子邮件。检查link您现在还可以在编辑菜单中找到触发器资源(在底部)。如果您有任何问题请告诉我。我会帮你一把。