2016-06-02 8 views
0

Google App Scriptを初めて使用していて、「Logger.log」コマンドの仕組みを完全に理解できません。Google Appsスクリプトで範囲をログに記録

Google App Scriptをスプレッドシートのバウンドスクリプトとして使用しています。以下は、私が働いているコードのsnipetです:

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 

は、なぜそれがシートのための「範囲」を表示しています。データの配列ではなくgetRange関数を使用します。

「getRange」と「getDataRange」の違いについても説明してください。

答えて

1

Rangeオブジェクトは、A1:A10のような範囲のポインタです。これは、範囲内の値のセットとは異なり、エントリの配列です。あなたの2番目の質問に

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

:範囲から値を取得するには、getValuesメソッドを使用documentationはgetDataRangeが何をするかでかなり明確である:それはあなたのA1から始まり、限りそこに広がる範囲を提供しますシート内のデータです。 B5とD2、およびそれ以外の場所にデータを置くだけの場合、DataRangeはA1:D5です。 getRangeでは、必要な範囲を指定します。

+0

にそうgetDataRangeに関しては、水平方向、垂直方向のセルのためにチェックしていること、または特に何でしょうそれは彼らが「範囲」と言うときのプログラムの意味ですか? –

+0

範囲は、セルの矩形ブロックです。 getDataRangeは、A1を左上隅とし、シート内のすべてのデータを含む最小のブロックを返します。 –

0

あなたは範囲オブジェクトを記録しているので、ロガーはそれだけであることを伝えます。 Google Appsスクリプトのドキュメントは非常に優れています。特に、あなたの場合、あなたは何を見ている必要がありますgetRange()

実際にどのような範囲を記録する場合は、範囲を教えてくれるgetA1Notation()を使用することができます。この場合、行1の列1で始まり、長さが1行10列であるため、A1:J1になります。特定の範囲にある値を確認したい場合は、getValues()を使用して2D配列を返します。

ロガーは、あなたが期待するようかなりの文字列や数値を記録しますと配列はまた、出力は文字列フォーマット

関連する問題