Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 谷歌表单/表单-跳过空白电子邮件谷歌脚本_Google Sheets_Google Forms - Fatal编程技术网

Google sheets 谷歌表单/表单-跳过空白电子邮件谷歌脚本

Google sheets 谷歌表单/表单-跳过空白电子邮件谷歌脚本,google-sheets,google-forms,Google Sheets,Google Forms,这是一个与此链接类似的问题,但略有不同: 我设置了一个表单/工作表,当用户填写表单时,它会生成一封收据电子邮件(不像某些收据那样包含表单内容),然后发送给收件人。但是,当用户将此字段留空时,我得到一个表单触发器错误,这可以理解为什么脚本没有完成。我正在尝试找出如何防止脚本在收件人/电子邮件字段为空时尝试发送电子邮件。不幸的是,在表单上设置所需的电子邮件字段并不是一个选项,因为奇怪的是,并非每个人都会有电子邮件地址(如果这是一个选项,我当然只需要输入电子邮件地址) 基于上面提供的链接,我尝试了以

这是一个与此链接类似的问题,但略有不同:

我设置了一个表单/工作表,当用户填写表单时,它会生成一封收据电子邮件(不像某些收据那样包含表单内容),然后发送给收件人。但是,当用户将此字段留空时,我得到一个表单触发器错误,这可以理解为什么脚本没有完成。我正在尝试找出如何防止脚本在收件人/电子邮件字段为空时尝试发送电子邮件。不幸的是,在表单上设置所需的电子邮件字段并不是一个选项,因为奇怪的是,并非每个人都会有电子邮件地址(如果这是一个选项,我当然只需要输入电子邮件地址)

基于上面提供的链接,我尝试了以下代码片段

   // Send Email to recipient(s) declared above in @var sendEmail
   if (e.values[11] != null) { 

var sendEmail = e.values[11]; //email field column 
var subject = "subject message";
var body = "body message";

MailApp.sendEmail(sendEmail, subject, body, {
  name: "Community Home Health Care",
  body: body,
  noReply: true,           
})
我也试过,而不是

       (e.values[11] != null)
使用

我省略的其余代码(在我上面展示的代码中)只是采用表单字段响应并生成一个转换为PDF的文档,该文档可以按预期工作。电子邮件部分也很有效,只是试图消除我偶尔收到的失败的脚本电子邮件


谢谢

首先假设传递了12个项目(0到11个),电子邮件是最后一个要传递的项目。如果是这种情况,则测试项目是否定义为:

if(typeof e.values[11] !== 'undefined')
如果您在链接到的帖子中使用链接到的邮件合并教程,并使用getRowsData()函数获取表单响应,则应该能够使用包含电子邮件地址的列标题,例如e.values.emailAddress和get:

if(typeof e.values.emailAddress  !== 'undefined')

这可能因数据的定义方式而异。

我尝试了第一个建议,使用:
code'e.values[11]!='未定义“
但没有运气,仍尝试发送电子邮件。如果我使用
.emailAddress
尝试其他方法,并且实际的标题值是电子邮件地址,我将如何使用它而不更改标题(如果可能)?您是否尝试过使用调试器并在从工作表读取数据后设置停止点?在getRowsData()函数将数据保存到变量后立即执行此操作。它将是一个对象。在调试器窗口中,您可以展开该对象,并将获得该项的键。我相信对于电子邮件地址的标题,密钥将变为.eMailAddress,但我可能已关闭。
if(typeof e.values.emailAddress  !== 'undefined')