每当我在Google Script中使用MailApp或GmailApp时,它都无效。我已经使用其他功能测试了这两个功能,例如检索邮件和创建草稿。似乎MailApp和GmailApp不想连接到我的Gmail帐户。我正在使用Google电子表格编写此脚本。我确实让.sendEmails()工作了一次,但是无法复制方案。这是应该有效的最终产品:
function onEdit(e){
var date = new Date()
var time = ":" + date.getMinutes()
var hours24 = date.getHours() + 1; // retrieve current hours (in 24 mode)
var dayMode = hours24 < 12 ? "am" : "pm"; // if it's less than 12 then "am"
var hours12 = hours24 <= 12 ? (hours24 == 0 ? 12 : hours24) : hours24 - 12;
// "0" in 24-mode now becames "12 am" in 12-mode – thanks to user @Cristian
SpreadsheetApp.getActiveSheet().getRange('J2').setValue(date);
SpreadsheetApp.getActiveSheet().getRange('J3').setValue(hours12 + time + dayMode);
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var mycell = ss.getActiveSelection();
var cellrow = mycell.getRow();
var cellcol = mycell.getColumn();
var range = sheet.getRange(cellrow,cellcol);
var data = range.getValue();
SpreadsheetApp.getActiveSheet().getRange('K3').setValue("pass");
if( cellrow >= 2){
var currinv = sheet.getRange(cellrow, 5)
var plusinv = currinv.getValue() + data;
var minusinv = currinv.getValue() - data;
SpreadsheetApp.getActiveSheet().getRange('K4').setValue("pass");
if(cellcol == 7) {
SpreadsheetApp.getActiveSheet().getRange(cellrow,5).setValue(plusinv);
SpreadsheetApp.getActiveSheet().getRange(cellrow,7).setValue("");
SpreadsheetApp.getActiveSheet().getRange('J4').setValue(cellcol);
SpreadsheetApp.getActiveSheet().getRange('K5').setValue("pass");
}
if(cellcol == 9) {
SpreadsheetApp.getActiveSheet().getRange(cellrow,5).setValue(minusinv);
SpreadsheetApp.getActiveSheet().getRange(cellrow,9).setValue("");
SpreadsheetApp.getActiveSheet().getRange('J5').setValue(cellcol);
SpreadsheetApp.getActiveSheet().getRange('K6').setValue("pass");
}
}
var rowcurr = 2
var rowcheck = currinv.getValue()
if(rowcheck == 1){
SpreadsheetApp.getActiveSheet().getRange('K7').setValue("pass");
var recipient = "someone@example.com";
var subject = "Test Email Alert System: Toner Inventory";
var body = "This is a test email from the Toner Invenoty Alert System";
MailApp.sendEmail(recipient, subject, body)
//or in case MailApp doesn't work anymore
//GmailApp.sendEmail(recipient, subject, body)
}
}
答案 0 :(得分:0)
其实感谢您的链接。我查看了可安装的触发器,并且能够给出onEdit()触发器授权,我已经启动并运行了谢谢。