GAS cannot read properties of undefined (reading 'length')エラーについて
Q&A
Closed
現在、あるスプレッドシートのシートから先頭行を除く全てのデータを別のスプレッドシートのシートに貼り付けようとしているのですが、実行するとcannot read properties of undefined (reading 'length')と表示され上手くいきません。 以下が実際のコードです。
function getValues(){
const to_url = "コピー先のスプレッドシートのURl";
const from_url = "コピー元のスプレッドシートのURL";
const to_sheet = SpreadsheetApp.openByUrl(to_url).getSheetByName("コピー先のシート名");
const from_sheet = SpreadsheetApp.openByUrl(from_url).getSheetByName("コピー元のシート名";
let values = from_sheet.getDataRange().getValues();
values.shift();
to_sheet.getRange(1, 1, to_sheet.length, to_sheet[0].length).setValues(to_sheet);}
コードを以下のように書き換えることで解決いたしました。
function getValues(){
const to_url = "コピー先のスプレッドシートのURl";
const from_url = "コピー元のスプレッドシートのURL";
const to_sheet = SpreadsheetApp.openByUrl(to_url).getSheetByName("コピー先のシート名");
const from_sheet = SpreadsheetApp.openByUrl(from_url).getSheetByName("コピー元のシート名";
let values = from_sheet.getDataRange().getValues();
const to_range = to_sheet.getRange(1, 1, values.length, values[0].length);
to_range.setValues(values);
to_sheet.deleteRow(1);
}