首页 > 解决方案 > 使用脚本将信息从一张纸复制到谷歌表格中的另一张纸

问题描述

我想将一些数据从表 1 复制到表 2,但是每次我尝试运行下面附加的代码时,它都会向我发送一个错误,我在评论中提到了该错误。

function copyInfo() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var copySheet = ss.getSheetByName("Sheet 1");
  var pasteSheet = ss.getSheetByName("Sheet 2");

  // get source range
  var source = copySheet.getRange(2,1,38,17);
  // get destination range, "TypeError: Cannot call method "getRange" of null."
  var destination = pasteSheet.getRange(pasteSheet.getLastRow()+1,1,38,17);

  // copy values to destination range
  source.copyTo(destination,{contentsOnly: true});
}

提前致谢。

标签: google-apps-script

解决方案


您的代码似乎正确并且对我有用,您可以尝试运行此代码并检查它是否记录了您正在使用的谷歌表格的正确名称,

function copyInfo() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  Logger.log(ss.getName());
}

为了更好地访问特定的谷歌表,您可以使用以下方法访问文件,而不是使用 getActiveSpreadsheet

var ss = SpreadsheetApp.openById("你的工作表 id");

您甚至可以尝试调试窗口来检查不同变量的当前值并了解可能的错误。


推荐阅读