繁体   English   中英

在Google Apps脚本中记录范围

[英]Logging a Range in Google Apps Script

我是使用Google App脚本的新手,但我并不完全了解“ Logger.log”命令的工作方式。

我正在使用Google App脚本作为电子表格的绑定脚本。 以下是我正在处理的代码的摘要:

function tasks() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Task List");
  sheet.activate();

  var hi = 23;
  Logger.log(hi);
  Logger.log("The range is " + sheet.getRange(1, 1, 10, 1));
}

当我运行代码时,这将显示在记录器中:

[16-06-02 00:56:12:129 EDT] 23.0
[16-06-02 00:56:12:130 EDT] The range is Range

为什么为sheet.getRange函数而不是数据数组显示“ Range”。

也有人可以解释一下“ getRange”和“ getDataRange”之间的区别。

您正在记录范围对象,因此记录器会告诉您它就是这样。 Google Apps脚本的文档非常好。 特别是,对于您的情况,您必须查看getRange() 返回的内容

因此,如果您想记录实际范围,可以使用getA1Notation()来告诉您范围。 在这种情况下,由于它从第1行第1列开始,并且是1行且长度为10列,因此它将为A1:J1。 如果您希望查看特定范围内的值,可以使用getValues(),它将返回一个2D数组。

记录器将按照您的期望记录字符串和数字,数组也将以字符串格式输出

Range对象是某个范围内的指针,例如A1:A10。 这与范围(一组条目)中的一组值不同。 要从某个范围获取值,请使用getValues方法:

Logger.log("The values are " + sheet.getRange(1, 1, 10, 1).getValues());

第二个问题是: 文档对getDataRange的作用很清楚:它为您提供以A1开头并一直扩展到工作表中有数据的范围。 如果仅将一些数据放在B5和D2中,而在其他任何地方,则DataRange为A1:D5。 使用getRange您可以指定所需范围。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM