google-apps-script - 将一个范围从一个电子表格复制到另一个电子表格

标签 google-apps-script google-sheets

我正在尝试将数组的内容从一张工作表(其中数组是通过迭代并推送用户选择的列的选择项来创建)复制到不同电子表格中的另一张工作表。

我遇到了许多有关如何将一个范围从一个电子表格导入到另一个电子表格的问题和答案,但没有一个对我有用(所有问题和答案都返回错误“我们很抱歉,发生了服务器错误。请稍等一下,然后重试。”)我也尝试过“copyTo”,但没有成功。

这是我当前正在使用的代码。我哪里出错了??

function copyToTrix(featureList) {

  featureList = featureList.getValues();

  var tss = SpreadsheetApp.openById("0AtX9IYFZ..."); //define active trix as target 

var ts = tss.getSheetByName("US");          //define sheet in target trix

var newRange = ts.getRange("DA12:DA25");    //define target range

 newRange.setValues(featureList);  //set values in target range to items in featureList

Browser.msgBox('copied');
}

最佳答案

您以一种非常危险的方式定义了目标范围,因为它仅依赖于您的决定而不依赖于数组内容... 您可以使用这种始终有效的方法:

var beginning_row = 12;
var beginning_col = /*what ever corresponds to 'DA' */ ;
var newRange = ts.getRange(beginning_row, beginning_col, featureList.length, featureList[0].length);    //define target range

它从数组长度(实际上就是它的本质)中获取行数,并从其第一个元素的长度中获取列数(相同的注释)......非常简单和可靠;-)

另外:您给自己的答案是错误的(很抱歉,没有个人冒犯...),因为它导致与“最佳实践”章节中描述的内容完全相反的the doc我建议删除其“已回答标记”并投票。

关于google-apps-script - 将一个范围从一个电子表格复制到另一个电子表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12291549/

相关文章:

javascript - 如何在不覆盖值的情况下有效地将值从一列移动到另一列?

google-apps-script - 日历应用程序事件 ID

javascript - 如何使用谷歌应用程序脚本设置谷歌表单中项目的父级?

google-sheets - 如何增加 Google 电子表格中的字符串值?

google-apps-script - 我想根据所选单元格获取电子表格行的值

google-apps-script - DocumentApp openById 参数无效

checkbox - 将复选框重置为 false

google-apps-script - 以编程方式复制对两个 Google 表格的表单响应

google-apps-script - 将新工作表添加到 Google 工作簿时发送电子邮件

google-apps-script - 使用 AdWords 脚本,我如何用 Google 云端硬盘中的 .txt 文件替换 Merchant Center 中的供稿?