我尝试设置谷歌电子表格,以便在某些值更改为“是”时发送电子邮件。到目前为止,除了变量任务和程序是"未定义之外,我已经在它工作的地方得到了它。"
其次,如果没有更改为是,我只希望它发送电子邮件。所以说E2已经是"是"但E3不是。有人进去并将E3更改为是...我只想通过电子邮件发送第3栏中的信息而不是2。
最后,我如何检查E列中的所有内容以获得"是:...所以E2到E50?现在,它只检查E4 ..我想设置它来检查整个列。
我是一个使用javascript的新手并且似乎被卡住了。感谢。
function readCell() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Form Responses");
var value = sheet.getRange("G4").getValue();
var task = sheet.getRange("E4").getValue();
var program = sheet.getRange("C4").getValue();
if(value="Yes") sendEmail(value);
if(value="Yes") sendEmail(task);
if(value="Yes") sendEmail(program);
};
function sendEmail(value, task, program) {
var email = "test@gmail.com";
var subject = "Jacob has completed a task.";
var body = "This is an automated generated email, Jacob Workman has completed for " + task + "for" + program;
var oauthConfig = UrlFetchApp.addOAuthService("google");
oauthConfig.setAccessTokenUrl("https://www.google.com/accounts/OAuthGetAccessToken");
oauthConfig.setRequestTokenUrl("https://www.google.com/accounts/OAuthGetRequestToken?scope=https://spreadsheets.google.com/feeds/");
oauthConfig.setAuthorizationUrl("https://www.google.com/accounts/OAuthAuthorizeToken");
oauthConfig.setConsumerKey("anonymous");
oauthConfig.setConsumerSecret("anonymous");
MailApp.sendEmail(email,subject,body);
};
由于
答案 0 :(得分:1)
您的sendEmail()
函数有3个参数,但是当您使用它时,您只传递一个值作为value
变量。尝试:
if(value="Yes") {
sendEmail(value, task, program);
}
分别代替每一行
答案 1 :(得分:1)
编辑正如Akum指出的那样,你也有错误的参数。
你不小心做了一个你想要进行比较的作业。
if(value === "Yes") sendEmail(value, task, program);
虽然可以更好地写成:
if(value === "Yes") {
sendEmail(value, task, program);
}
顺便说一句:有一个名为JSHint的好工具可以帮助您找到常见问题,例如=
和===