我是使用Google App Script的新手,我不完全了解" Logger.log"命令有效。
我正在使用Google App Script作为电子表格的绑定脚本。下面是我正在处理的代码:
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"。
答案 0 :(得分:1)
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
,您可以指定所需的范围。
答案 1 :(得分:1)
您正在记录范围对象,因此记录器会告诉您它就是这样。谷歌应用脚本的文档非常好。特别是,对于您的情况,您必须查看getRange()returns
因此,如果您想记录范围实际是什么,您可以使用getA1Notation()来告诉您范围。在这种情况下,因为它从第1行第1列开始,并且长度为1行10列,所以它将是A1:J1。如果您希望查看该特定范围内的值,可以使用将返回2D数组的getValues()。
记录器将按照您的预期记录字符串和数字,并且数组也将以字符串格式输出