1

以下は私のコードで、コードの最後の行で「変換できません」というエラーが表示されます。行を明確にするために:sheet.getRangeエラーをスローします。

エラーが言うのはそれだけです。「変換できません」だけです。また、これは完全なコードなので、他に何もありません。

 function days(){   
      var table = new Array(7); 

      for ( var i = 0; i < 7 ; i ++){
        table[i] = i+2;  
        }

       var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Want");
           sheet.getRange("B2:B9").setValues(table); 

        }
4

3 に答える 3

3

SetValues()引数として2次元配列を取り、TABLE1次元配列です...これはそのままでは機能しません...ただし、変更は簡単ですが、テーブルを7要素の2D配列にします。

このような : table[i] = [i+2];

ところで、範囲('B2:B9')は8セルの高さで、7つの値しか指定しません...そこで問題が発生します!

于 2012-07-12T20:17:54.373 に答える
3

Google Apps Scripting については何も知りませんが、 Google でこれを見つけることができました。

テーブルは 2 次元配列である必要があるようです。

おそらくこれが役立つでしょうか?

(コードは上のリンクから)

var myTable = [[1, 2, 3, 4],[5, 6, 7, 8]];
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(1,1,2,4).setValues(myTable);
于 2012-07-12T20:18:59.880 に答える
1

この質問に対する問題を理解したので、他の人が恩恵を受けるように質問に答えます。ここでの問題は、Range オブジェクトの .setValues メソッドに 2 次元配列 [][] を指定する必要があることです。だから私は今2次元配列を持つように、他の配列の中に0次元配列を作成しました。

var array = new Array(7);

 for (var i = 0; i < 7; i++) {
    array[i] = new Array(0);
  }
于 2012-07-12T20:19:28.173 に答える