Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.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 apps script 如何使用For循环创建googleforms复选框选项_Google Apps Script - Fatal编程技术网

Google apps script 如何使用For循环创建googleforms复选框选项

Google apps script 如何使用For循环创建googleforms复选框选项,google-apps-script,Google Apps Script,我尝试了下面代码的多次迭代,但成功有限。记录器似乎正确地显示了命令,但窗体似乎没有执行命令。执行后,表单只生成一个未定义的复选框 考虑到我必须用稍微不同的问题措辞多次重复这个复选框问题,我试图减少我的代码占用,并希望变得更有效 下面是我的失败代码片段: var storerangestart = 9901; var storerangeend = 9999; page402_cbitem1.setTitle('What stores do you have allocat

我尝试了下面代码的多次迭代,但成功有限。记录器似乎正确地显示了命令,但窗体似乎没有执行命令。执行后,表单只生成一个未定义的复选框

考虑到我必须用稍微不同的问题措辞多次重复这个复选框问题,我试图减少我的代码占用,并希望变得更有效

下面是我的失败代码片段:

    var storerangestart = 9901;
    var storerangeend = 9999;
    page402_cbitem1.setTitle('What stores do you have allocated for this project?');
    var page402array = 'page402_cbitem1.setChoices([\n';
    for (var i = storerangestart; i < storerangeend; i++) {
      var storerangecurrent = i + "";
      page402array += 'page402_cbitem1.createChoice(' + storerangecurrent + '),\n';
    }
    page402array += 'page402_cbitem1.createChoice(' + storerangeend + ')\n]);';
    Logger.log(page402array);
    page402array();
var storerangestart=9901;
var storerangeend=9999;
page402_cbitem1.setTitle(“您为该项目分配了哪些门店?”);
var page402array='page402_cbitem1.setChoices([\n';
对于(var i=storerangestart;i
记录器不是向您显示命令,而是向您显示字符串。您的代码创建了一个字符串,其中包含看起来像代码的文本,但无法在Google Apps脚本中直接执行该字符串的内容

你有一个好主意-你只是被困在试图手动处理错误的对象类型

查看的定义,您将看到它将选择数组作为参数。示例代码可能抛出了您,因为它在
.setChoices()
方法调用中创建了item元素:

item.setChoices([
    item.createChoice('Cats'),
    item.createChoice('Dogs')
]);
您可以通过以下方式实现相同的结果:

var choices = [];                           // create a new array of choices
choices.push( item.createChoice('Cats') );  // Add 'Cats'
choices.push( item.createChoice('Dogs') );  // Add 'Dogs'
item.setChoices( choices );                 // set the array of choices
这为您正在考虑的循环设置了机会。您不需要构建包含代码的字符串,而是需要调用各种对象方法,首先构建选项数组,然后将该数组指定为表单项的选项:

var storerangestart = 9901;
var storerangeend = 9999;
page402_cbitem1.setTitle('What stores do you have allocated for this project?');
var page402array = [];
for (var i = storerangestart; i < storerangeend; i++) {
  var storerangecurrent = i + "";
  page402array.push( page402_cbitem1.createChoice( storerangecurrent ) );
}
Logger.log( page402array );
page402_cbitem1.setChoices( page402array );
var storerangestart=9901;
var storerangeend=9999;
page402_cbitem1.setTitle(“您为该项目分配了哪些门店?”);
var page402array=[];
对于(var i=storerangestart;i
非常感谢。这简直快把我逼疯了!我不是一个程序员,但我能应付很多类似于编程的任务,比如这个…这个任务让我陷入困境,因为在我第一次尝试使用.setChoices方法和.setChoice方法创建复选框数组时,它不断出错,所以我认为文档可能已经过时了,这是一种不推荐的方法。很高兴能提供帮助!当您对所有这些都有足够的了解时,代码就会变得简单,但是很容易混淆PHP、网页上的javascript、服务器端编程,当然还有应用程序脚本API。我认为,通过思考过程来解决类似的未来问题可能会有所帮助。@Mogsdad,我刚刚花了几个小时试图找出如何构建一系列选择<代码>变量选项=[];//创建一个新的选项数组。push(item.createChoice('Cats');//添加“猫”选项。推送(item.createChoice(“狗”);//添加“狗”项。设置选项(选项);//设置当天保存的选项数组。谢谢你,请投赞成票。