Ribbit's works

Googleスプレッドシートのセルの高さを、GASからピクセル指定で設定する【Google Apps Script】

#Google Apps Script #スプレッドシート
にメンテナンス済み
記事のトップ画像

Excel ではシートの高さを設定する際、高さを数値指定で設定する手段がいくつか用意されています。

しかしスプレッドシートでは、単一行の数値指定での設定は可能ですが、複数行に対して数値指定で高さを設定することができません。

そのため複数行の高さを再度変更したい場合などに以前設定した高さと合わせることができず、また 1 からすべての行の高さを設定しなければなりません。

今回は Google Apps Script を活用して、セルの高さを制御する方法を紹介します。

使用する関数

SpreadsheetApp.Sheet クラスに用意されている、setRowHeight を使用します。

引数には対象行番号と高さを指定します。

// 行数とピクセルを指定して、行の高さを設定します。
sheet.setRowHeight(2, 30);

サンプルコード

/**
 * 対象スプレッドシートのID
 * https://docs.google.com/spreadsheets/d/〇〇〇/edit の〇〇〇の部分
 */
const SPREAD_SHEET_ID = '_______________';

/**
 * セルの高さを数値を指定して設定します
 *
 * @param {number} height 設定する高さ(ピクセル);
 */
const setRowHeight = (height) => {
  /** 対象スプレッドシート */
  const ss = SpreadsheetApp.openById(SPREAD_SHEET_ID);

  /** 対象シート */
  const sheet = ss.getSheetByName('シート1');

  /** 対象シートの最終行 */
  const lastRow = sheet.getMaxRows();

  // すべての行の高さを変更します
  for (let i = 0; i < lastRow; i++) {
    sheet.setRowHeight(i + 1, height);
  }
};