这是我的第一次发布,因此,如果我遗漏任何重要细节,请多多包涵。无论如何,总结一下问题:我一直试图让一个脚本在Google Script maker上工作,以格式化连接到表单的电子表格,直接进入我的电子邮件。所以基本上是用户表格->电子表格->我的电子邮件这些问题很标准:有什么问题?你现在在哪里但是,我要使用的一个问题是“此问题的优先级是什么?”高或低。我采用多选格式,因此很简单。我想要的伪代码:if (priority = low) put #priority low onto the email很简单,但是我似乎无法正常工作,这是我的代码:function sendFormByEmail(e){ // Remember to replace XYZ with your own email address var email = "email"; var subject = "Help Desk Form Submitted"; var s = SpreadsheetApp.getActiveSheet(); var headers = s.getRange(1,1,1,s.getLastColumn()).getValues()[0]; var message = ""; var priority = ""; if(message.indexOf("What is the priority of this problem? = Low")){ priority += "#priority low"; } else priority == "GFHHFFHAHFH "; for(var i in headers){ message += headers[i] + ' = \t \t'+ e.namedValues[headers[i]].toString() + "\n\n"; } if (message.indexOf("What is the priority of this problem? = Low")) message += "This is a test"; else message += "This is not a test"; MailApp.sendEmail(email, subject, message);} 最佳答案 让我们看一下if(message.indexOf()...的第一个实例。有一些问题:几行之前,message被设置为空字符串...因此您将不会在其中找到“优先级”字符串。if语句将indexOf()的返回视为布尔值。但是,当找不到某个项目时,来自.indexOf()的返回码为-1,这是“真实的”。如果找到了字符串,并且该字符串位于搜索主题的开头,则返回值为0,即“ false-ish”。如果在其他任何位置找到它,则该值将为“> 0”,也为“真”。在else中,有一个错字。比较==应该是赋值=,如果愿意,也可以是+=。查看周围的代码,此段看起来像是以前版本的遗留部分,可以删除。现在来看第二个实例。现在应填充message。但是,比较仍然使用.indexOf()的错误布尔解释。搜索字符串包含一批空格...但是循环遍历响应的先前代码使用制表符将“标题”与“值”分开,因此搜索将始终返回“ -1”(将其解释为)。还有其他一些整理项目。您可能需要:function sendFormByEmail(e){ Logger.log(JSON.stringify(e)); var email = Session.getEffectiveUser().getEmail(); var subject = "Help Desk Form Submitted"; var message = ""; var s = e.range.getSheet(); // Sheet that received form response var headers = s.getDataRange().getValues()[0]; for (var question in headers) { message += headers[question] + ' = \t\t' + e.values[question] + '\n\n'; } // Add text relative to the priority of the reported issue. if (e.namedValues["What is the priority of this problem?"].toString() === "Low") message += "This is a test"; else message += "This is not a test"; Logger.log(message); MailApp.sendEmail(email, subject, message);}PS:您可以看到为什么建议将表格问题简短化,例如“ Priority”(优先级),而将解释性的句子保留为辅助文字!关于javascript - Google Script maker格式化电子表格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17973497/
10-15 22:31