将谷歌表单数据复制到新选项卡的脚本

问题描述 投票:0回答:1

我没有脚本经验,但在这里找到了以下内容,它几乎可以满足我的需求。

  function onSubmit(e) {
  const range = e.range;
  const srcSheet = range.getSheet();
  const dstSheet = e.source.getSheetByName("Responses");
  const srcRange = srcSheet.getRange(range.rowStart, 1, 1, srcSheet.getLastColumn());
  const dstRange = dstSheet.getRange(dstSheet.getLastRow() + 1, 1);
  srcRange.copyTo(dstRange, {contentOnly: true});
  } `

但我希望目标数据从 J 列开始,而不是 A

它可以工作,但会将数据复制到 A 列

forms google-sheets scripting copy paste
1个回答
0
投票

您可以通过更改

.getRange()
函数中的第二个参数来指定要将数据粘贴到哪一列。这条线

const dstRange = dstSheet.getRange(dstSheet.getLastRow() + 1, 1);

然后看起来像这样

const dstRange = dstSheet.getRange(dstSheet.getLastRow() + 1, 10);

因为列也有数字,并且 J 等于 10,因为 A 是 1。

如果您想使用列的字母而不是数字,

.getRange()
函数还支持所谓的A1表示法:

const dstRange = dstSheet.getRange("J" + (dstSheet.getLastRow() + 1));

更多详细信息可以在官方 Apps Scipt 文档中找到。

© www.soinside.com 2019 - 2024. All rights reserved.