簡體   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