【问题标题】:Can't Set Values in Google Sheets无法在 Google 表格中设置值
【发布时间】:2020-07-21 07:24:56
【问题描述】:

我是谷歌表格上的脚本编辑器的新手,有点挣扎。 从单独的工作表(getbyid)中拉出时我在设置值时遇到问题。

例如...

function myFunction() {
var todaysdate =  Utilities.formatDate(new Date(), "GMT+10", "dd/MM")
var sheetname = ("Vote - " + todaysdate)
var spreadsheet1 = SpreadsheetApp.openById('14LD0P2v89W6nM7JI-sU1FFkCZ0Pa-L6iVgZh0gPoPwQ')
var spreadsheet2 = spreadsheet1.getSheetByName(sheetname)
spreadsheet1.getRange("B3").setValue("TssEXsdT");
 }

这可以自己工作,但是当我将它添加到我的主代码中时它不再工作了?

此外,以下代码返回 setValue 中所有单元格中 getRange 的第一行。 IE 酿酒商 酿酒商 酿酒商 酿酒商 ...等

   var newresultspage = source.getSheetByName(resultsheetname);
   var beernamespage = source.getSheetByName('beer names')
   var brewers = beernamespage.getRange('d3:d9').getValues('d3:d9'); 
   newresultspage.getRange('j5:j11').setValue(brewers);

我不明白如何让它填充列表?

任何帮助都会令人惊叹。 詹姆斯

【问题讨论】:

  • 您能否格式化您的代码以提高可读性?

标签: google-apps-script google-sheets


【解决方案1】:

but when I add it to my main code it doesn't work anymore?my main code 是您问题中的底部脚本时,这个答案怎么样?

修改点:

  • 我认为在您的脚本中,var brewers = beernamespage.getRange('d3:d9').getValues('d3:d9'); 出现错误。因为getValues 没有参数。但在你的问题中,你说The following code returns the first line from the getRange in all the cells in the setValue. ie Brewers Brewers Brewers Brewers ... etc。所以我担心您的脚本可能与复制问题的脚本不同。
  • var brewers = beernamespage.getRange('d3:d9').getValues('d3:d9');var brewers = beernamespage.getRange('d3:d9').getValues();时,此行没有错误,brewers的值是二维数组。
    • 在这种情况下,在newresultspage.getRange('j5:j11').setValue(brewers);brewers 中第一个数组的第一个元素的值被放入单元格j5:j11。我认为您的问题的原因是由于这个。
    • 所以请将setValue修改为setValues

当你的脚本被修改后,变成如下。

修改脚本:

请进行如下修改。

从:
var brewers = beernamespage.getRange('d3:d9').getValues('d3:d9');
newresultspage.getRange('j5:j11').setValue(brewers);
到:
var brewers = beernamespage.getRange('d3:d9').getValues();
newresultspage.getRange('j5:j11').setValues(brewers);
  • 以上修改后的脚本从beernamespage的“d3:d9”中检索值,并将其放入newresultspage的“j5:j11”中。

注意:

  • 如果在保留j5:j11 的同时更改d3:d9,则可能会发生错误。此时,需要与检索到的值的范围大小相同。请注意这一点。
    • 在您当前的脚本中,d3:d9j5:j11 都是 7 行和 1 列。这样,上述修改后的脚本就可以工作了。

参考资料:

【讨论】:

  • 谢谢,这解决了问题。这么简单的错误。
  • @James Marchetti 感谢您的回复。很高兴您的问题得到解决。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-21
  • 2017-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多