Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.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
Loops 来自多个表单的多个电子表格行_Loops_Google Apps Script - Fatal编程技术网

Loops 来自多个表单的多个电子表格行

Loops 来自多个表单的多个电子表格行,loops,google-apps-script,Loops,Google Apps Script,好的,正在取得进展:我已经设法将表单条目写入电子表格,它正在工作,但最后一个条目被输入了两次。你知道我做错了什么吗 经修订的守则是: 函数insertdatainsheite//单击“提交”将数据插入电子表格的函数 { var app=UiApp.getActiveApplication; //获取要输入的行数 var num=parseInte.parameter.table_标记; var num=num+1; //设置增量步进 对于变量i=1;i

好的,正在取得进展:我已经设法将表单条目写入电子表格,它正在工作,但最后一个条目被输入了两次。你知道我做错了什么吗

经修订的守则是:

函数insertdatainsheite//单击“提交”将数据插入电子表格的函数 { var app=UiApp.getActiveApplication; //获取要输入的行数 var num=parseInte.parameter.table_标记; var num=num+1; //设置增量步进 对于变量i=1;i电子表格有两张表,一张名为LocationCodes。代码是指具有以下内容的工作表:

var LocationSheet = SpreadsheetApp.openById(itemSpreadsheetKey).getSheetByName("LocationCodes");
并将LocationSheet变量创建为全局变量

还有另一张名为LOG的表。这就是输入表单中所有数据的去向

您希望代码查看日志表中的每一行,并为日志表中存在的每一行发送电子邮件。这封电子邮件是从某处查到的。显而易见的选择是日志表F列中的电子邮件地址,但我需要绝对确定,因为K列中还有另一个电子邮件地址

代码中需要一个循环,该循环只循环日志表中需要检查的行数。日志表中的行数是否始终相同

代码是从工作表中逐行获取每个单独的电子邮件:

    var email00 = LocationSheet.getRange(33,5).getValue()
  //followed by other emails as they appear
    var email01 = LocationSheet.getRange(3,5).getValue();
    var email02 = LocationSheet.getRange(4,5).getValue();
    var email03 = LocationSheet.getRange(5,5).getValue();
    var email04 = LocationSheet.getRange(6,5).getValue();
    var email05 = LocationSheet.getRange(7,5).getValue();
    var email06 = LocationSheet.getRange(8,5).getValue();
上面的代码获取单个单元格的值。如果您想同时发送所有这些电子邮件,则需要不同的代码

你需要通过一个编程循环来遍历每封电子邮件。这将是为每个电子邮件地址发送一封单独的电子邮件。如果您想将一封电子邮件发送到多个电子邮件地址,则需要将它们连接起来


代码中没有循环,也没有任何会发送多封电子邮件的内容。

嗨,桑迪,谢谢你的回复。我没有解释得那么清楚。IF语句在为提交的表单的每个实例输入电子邮件地址时,只会获得一个电子邮件地址。“addMemberRow”、“addButtons”和“addRemoveRow”函数在站点中创建表单。“insertDataInSheet”例程应查找创建的每个表单行的电子邮件地址,然后通过电子邮件发送给此人,然后转到下一个表单行。我已经创建了一个复制网站,并在这里复制代码和工作表:工作表代码和网站感谢链接,这非常有帮助。请参阅答案中的更新文本。然后回复,让我知道我是否理解正确。我希望代码查看日志表,并为日志表中的每一行向K列中的电子邮件地址发送电子邮件,同时抄送F列中的电子邮件。行数将始终不同。我想它总是会发送电子邮件,所以我会在state SENT中添加一列,如果该列为空,则发送电子邮件,如果该列为state SENT,则忽略该列。该列已添加到测试电子表格中,因此发送列现在是column L。我已更改了代码,它现在正在按预期将多个表单行写入电子表格。但是,如果有一行数据未为所有条目定义,那么如果有多行数据未定义,则会将它们全部写入
不是最后一个,而是倒数第二个!有什么建议吗?上面的代码有问题。您正在使用的UiApp现在已被弃用。这不会直接影响你的问题,但我想让你知道。是的,我知道,但谢谢桑迪。我希望能让它工作,所以我有机会在迁移时用html重写它。