スプレッドシートの列の幅と行の高さをGASで設定変更(setColumnWidth,setRowHeight)

スプレッドシートでは、シートに入力したテキストの分量に応じて、列の幅を広くしたり、行の高さを長くすることがあります。

Google Apps Script(GAS)を使って列の幅と行の高さを変更する方法を解説します。

スプレッドシートでは列・行の幅を見やすく調整

スプレッドシートで、シートに文字テキストを入力していると、デフォルトで設定されている幅よりも文字がはみ出るようになります。

列幅からセルがはみ出るようになると、後方にある列のセルが見えなくなり、シートが見づらくなります。

Google Apps Script(GAS)でシートの有無をチェックするスプレッドシート

そんな場合にはスプレッドシートでは列の幅や行の高さを調整できるようになっています。

長いテキストをセルに入力した場合は列の幅を広げることですべてが見えるようにすることが可能です。

列幅が長くなりすぎて操作しづらい場合は、テキストを折り返すようにして、行の高さを広げて、全量見えるようにすることもできます。

このように、スプレッドシートでは列・行の幅を調整することで視認性を高める操作を行います。

列の幅や行の高さもGASで変更可能

Google Apps Script(GAS)を使っても、スプレッドシートのGUI操作と同じように列の幅や行の高さを調整することができます。

GASには列の幅を設定するメソッドに加え、行の高さを設定するメソッドも用意されています。

これらをGASスクリプトの中で実行することで、列と行の幅を変更可能です。

GASでシートの列の幅を変更するsetColumnWidth(s)

Google Apps Script(GAS)でシートの列幅を変更するメソッドは、setColumnWidthとsetColumnWidthsの2つ用意されています。

sheet.setColumnWidth(列番号,設定幅)

sheet.setColumnWidths(開始列番号,列数,設定幅)

setColumnWidth(s)メソッドはいずれもsheetオブジェクトで実行します。

setColumnWidthの場合は、第1引数で列幅を設定したい列番号を指定(A列なら1、B列なら2)し、第2引数で列幅の大きさを数字で指定します。

そのため、setColumnWidthは特定の1列のみ幅を設定したい場合に利用します。

それに対し、setColumnWidthsの場合は、開始列番号と設定列数を引数に指定することで複数列の幅を一括変更可能です。

GASでシートの行の高さを変更するsetRowHeight(s)

Google Apps Script(GAS)でシートの行の高さを変更するメソッドも、setRowHeightとsetRowHeightsの2つ用意されています。

sheet.setRowHeight(行番号,高さ設定)

sheet.setRowHeights(開始行番号,行数,高さ設定)

使い方は、列幅のsetColumnWidth(s)メソッドとほとんど同様です。

setRowHeightでは列番号の代わりに行番号と、設定したい高さを指定します。

setRowHeightsでは開始行番号、設定行数、そして設定したい高さの3つを引数に指定します。

シートの列幅・行高を設定するGASサンプルコード

実際にシートの列幅と行の高さを設定するGoogle Apps Script(GAS)のサンプルコードを紹介します。

デフォルトのスプレッドシートの表示。これをGoogle Apps Script(GAS)で列幅と行高さを変更

上のスプレッドシートは、新規ファイル作成時にデフォルトで設定されている列の幅と行の高さです。

このスプレッドシートに紐づくコンテナバインド型のGASスクリプトで列幅と行高さを変更します。

Google Apps Script(GAS)のsetColumnWidth(s)メソッドとsetRowHeight(s)メソッドで列幅と行の高さを変更設定するサンプルコード
function setColumnWidthRowHeight() {
  //スクリプトに紐づくスプレッドシートのアクティブなシートを取得
  let mySheet = SpreadsheetApp.getActiveSheet();
  //シートの1列(A列)の幅を200に設定
  mySheet.setColumnWidth(1,200);
  //シートの3列目(C列)から5列分(G列まで)の幅を10に設定
  mySheet.setColumnWidths(3,5,10);
  //シートの1行目の幅を400に設定
  mySheet.setRowHeight(1,400);
  //シートの3行目から5行分の幅を5に設定
  mySheet.setRowHeights(3,5,5);
}

まず最初にsetColumnWidthでA列の幅を200に設定します。

続いて、setColumnWidthsでC列~G列までの複数列を幅10とします。

同様にsetRowHeightで1行目の高さを400、3行目から7行目までを幅5に設定します。

スプレッドシートの列幅と行高さを変更するサンプルコードを実行した結果

このようにスプレッドシートの1つまたは複数列の幅と、1行または複数行の高さをGASスクリプトで変更できました。

まとめ・終わりに

今回、スプレッドシートの列の幅と行の高さをGoogle Apps Script(GAS)で変更する方法を紹介しました。

GASではシートの列幅はsetColumnWidth(s)メソッド、行の高さはsetRowHeight(s)メソッドで設定できます。

GASで行・列のセル幅を設定できると、スクリプト実行でデータ入力に加え、データの見栄えも自動で整えることが可能です。

GASでスプレッドシートにレポート出力ができるようになったら、こうした見栄えを整えることで、レポートとしての見やすさを高められます。

ぜひ、GASのsetColumWidth(s)やsetRowHeight(s)メソッドを使い、列の幅と行の高さを調整してみましょう。