我刚开始使用 Google App Script,我不完全了解“Logger.log”命令的工作原理。
我正在使用 Google App Script 作为电子表格的绑定(bind)脚本。下面是我正在处理的代码片段:
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 函数的“范围”而不是数据数组。
也有人可以解释一下“getRange”和“getDataRange”之间的区别。
最佳答案
Range 对象是一个范围内的指针,如 A1:A10。这不同于一个范围内的一组值,后者是一个条目数组。要从范围中获取值,请使用 getValues
方法:
Logger.log("The values are " + sheet.getRange(1, 1, 10, 1).getValues());
第二个问题:documentation getDataRange 的作用非常清楚:它为您提供以 A1 开头的范围,一直延伸到工作表中的数据。如果只在 B5 和 D2 中放一些数据,而没有其他地方,则 DataRange 为 A1:D5。使用 getRange
,您可以指定所需的范围。
关于google-apps-script - 在 Google Apps 脚本中记录范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37583028/