Google apps script 在电子表格中为每个产品创建一个文本项,并将此项的标题设置为;(产品名称)(剩余:(剩余数量)“;
我想为在线订单制作一个谷歌表单,该表单将显示每种产品的剩余数量,并在每次订单通过时更新 作为第一步,我尝试在电子表格中为每个产品创建一个TextItem,并将该项目的标题设置为“(产品名称)(剩余:(剩余编号))”Google apps script 在电子表格中为每个产品创建一个文本项,并将此项的标题设置为;(产品名称)(剩余:(剩余数量)“;,google-apps-script,google-sheets,google-forms,Google Apps Script,Google Sheets,Google Forms,我想为在线订单制作一个谷歌表单,该表单将显示每种产品的剩余数量,并在每次订单通过时更新 作为第一步,我尝试在电子表格中为每个产品创建一个TextItem,并将该项目的标题设置为“(产品名称)(剩余:(剩余编号))” var wsStocks=SpreadsheetApp.openById(ssID).getSheetByName(“股票”); var form=FormApp.openById(formID); 函数myFunction(){ var Products=wsStocks.getR
var wsStocks=SpreadsheetApp.openById(ssID).getSheetByName(“股票”);
var form=FormApp.openById(formID);
函数myFunction(){
var Products=wsStocks.getRange(1,1,wsStocks.getLastRow(),1.getValues();
对于(j=1;解释/问题:
- 在for循环中使用
getRange
和getValue
不是一种好的做法。您可以构造二维数组产品
以同时包含列a和列B,然后您可以直接为这两列编制索引。我还用于简化字符串表达式:
var Products = wsStocks.getRange(1,1,wsStocks.getLastRow(),2).getValues();
for(j=0;j<Products.length;j++){
form.addTextItem().setTitle( `${Products[j][0]} (remains: ${Products[j][1]})` );
};
解释/问题:
- 在for循环中使用
getRange
和getValue
不是一种好的做法。您可以构造二维数组产品
以同时包含列a和列B,然后您可以直接为这两列编制索引。我还用于简化字符串表达式:
var Products = wsStocks.getRange(1,1,wsStocks.getLastRow(),2).getValues();
for(j=0;j<Products.length;j++){
form.addTextItem().setTitle( `${Products[j][0]} (remains: ${Products[j][1]})` );
};
谢谢!这个时间问题确实与我以前的情况大不相同。或者,如果我创建一个包含产品数量的项目的数组,并使用循环修改项目编号j,这会起作用吗?(如果是,怎么做?^^ ^ ^)@DSuchet感谢您的反馈。我不确定您的意思。由于stackoverflow不允许后续问题,您可以发布一个关于您希望实现的修改的新问题吗?如果通过单击答案左侧的勾选按钮解决了您的原始问题,请接受此答案。谢谢,sorry的不方便。谢谢!这个时间问题确实与我习惯的非常不同。或者,如果我创建一个包含与产品数量一样多的项目的数组,并使用循环来修改项目编号j,这会起作用吗?(如果是,如何做?^^^ ^)@DSuchet感谢您的反馈。我不确定您的意思。由于stackoverflow不允许后续问题,您可以发布一个关于您希望实现的修改的新问题吗?如果通过单击答案左侧的勾选按钮解决了您的原始问题,请接受此答案。谢谢,sor因为不方便,我很生气。
var wsStocks = SpreadsheetApp.openById(ssID).getSheetByName("Stocks");
var form = FormApp.openById(formID);
function myFunction(){
var Products = wsStocks.getRange(1,1,wsStocks.getLastRow(),2).getValues();
for(j=0;j<Products.length;j++){
form.addTextItem().setTitle( `${Products[j][0]} (remains: ${Products[j][1]})` );
Utilities.sleep(4*1000); // 4 second delay
};
}