Goolge apps script 別シート参照してコピペ

Goolge apps script スプレッドシートの別シート参照してコピペする方法

 

openByIdメソッド

 

を使う。

 

Goolge apps scriptでスプレッドシートの別シートからコピペするスクリプト

 

function copypast() {

var ss,sht,sht2,sheet1,sheet2,rng,copy1

ss = SpreadsheetApp.getActiveSpreadsheet();
sheet1 = SpreadsheetApp.openById('1617Bh9s821I-Kop0w_c7EIl1IftBBjrUN-eC1fheXYc');
sheet2 = SpreadsheetApp.openById('1pvFS9K2TERuu8CnFcmo6oS8t9kzrrnkEKBY729UhVac');

//sheet1のシート1・A1:C10のセル値をコピー
sht = sheet1.getSheetByName('シート1');
rng = sht.getRange("A1:C10").getValues();
copy1 = rng.copy;
Logger.log(rng)

//sheet2のシート2へ貼付け
sht2 = sheet2.getSheetByName('シート2');
sht2.getRange("A1:C10").setValues(rng);//<-同じ範囲を指定する必要がある。

}

 

結果

sheet1の値("A1:C10")をsheet2のシート2へセット出来た。

 

まとめ

sheet2のシート2へ貼付け時、同じ範囲を指定する必要がある。

別の範囲に貼付けする際は

filter(String).length

を使ってアクティブな範囲をcopy、setする必要がある。