質問: words[153]; /* スプレッドシートに出力 */ for(var i=0;i < myMsgs.length;i++){ SpreadsheetApp.getActiveSheet().getRange(2, 3, i, 102).setValues(valMsgs); } } ### 試したこと SpreadsheetApp.getActiveSheet().getRange(2, 3, i, 102).setValues(valMsgs) 下から3行めのこのコードのiの部分を1にして、該当するメールを1つにした場合は正常に動作しました。 そのため、エラーを吐いているのは以下のコードの場所のみだと思います。 for(var i=0;i < myMsgs.length;i++){ SpreadsheetApp.getActiveSheet().getRange(2, 3, i, 102).setValues(valMsgs); } ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答: ``` for(var i=0;i < myMsgs.length;i++){ SpreadsheetApp.getActiveSheet().getRange(2, 3, i, 102).setValues(valMsgs); } ``` ↑を↓ ``` SpreadsheetApp.getActiveSheet().getRange(2+j, 3, valMsgs.length, 102).setValues(valMsgs); j+=valMsgs.length; ``` あと、`var valMsgs = [];`の直後で`var j=0;`を入れといてください。 月を取るとこがコメントアウトされてるのも外したほうがいい気がした ・変えたとこ そこでループいらない iの位置は行数で、これはvalMsgsの個数できまる。 開始行を繰り下げる必要があるので、2+jで表現