[GAS][スプレッドシート]セルの書式のみコピーするには: 逆引きGoogle Apps Script

2012 年 3 月 23 日 金曜日

▼サンプルスクリプト

A列をB列にコピーするサンプルスクリプト。書式のみコピーされ、値、関数、コメントはコピーされない。

function onOpen(){
  var sheet = SpreadsheetApp.getActiveSheet();
  var rangeToCopy = sheet.getRange('A:A');
  rangeToCopy.copyFormatToRange(sheet, 2, 2, 1, 20);
}

copyToのパラメータ:formatOnlyにtrueを指定することで、書式のみコピーすることもできる。

function onOpen(){
  var sheet = SpreadsheetApp.getActiveSheet();
  var rangeToCopy = sheet.getRange('A:A');
  var targetToCopy = sheet.getRange('B1');
  rangeToCopy.copyTo(targetToCopy, {formatOnly:true});
}

構文

copyFormatToRange(sheet, startColumn, endColumn, startRow, endRow)

セルの書式のみコピーする。値、コメント、関数はコピーしない。

パラメータ

sheet
コピー先シートオブジェクト
startColumn
コピー先の列(開始位置)
endColumn

コピー先の列(終了位置)
startRow
コピー先の行(開始位置)
endRow
コピー先の行(終了位置)

補足

copyToのオプションで書式のみコピーすることもできる。詳しくはセルをコピーするには参照。

注意点

コピー元セルの数と、コピー先として指定したセルの数が異なる場合、以下の挙動になるので注意が必要。

コピー元の方が多い場合
コピー先を埋めるように繰り返される
コピー元の方が少ない場合
一部省略される
スポンサードリンク

関連記事

コメントをどうぞ

トラックバック

このエントリーのトラックバックURL:

http://www.bmoo.net/archives/2012/03/313116.html/trackback