GASでスプレッドシートの指定セルから太字設定を取得する方法

みんな、スプレッドシートで「このセルだけ太字にしたい!」ってことあるばい?そんなときに便利なのが、Google Apps Script(GAS)の getFontWeight() メソッドじゃ!

この記事では、getFontWeight() の基本から応用まで、しっかり解説するけ。最後まで読めば、セルのフォントを自由自在に操れるようになるばい!


スポンサーリンク

getFontWeight() とは?

getFontWeight() は、Googleスプレッドシートの特定セルの太字設定を取得するメソッドじゃ。

戻り値は2種類

  • "bold" → セルの文字が太字
  • "normal" → 太字じゃない

使い方はこんな感じさ。

const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const fontWeight = sheet.getRange("A1").getFontWeight();
console.log(`A1のフォントウエイト: ${fontWeight}`);

これを実行すると、A1セルが太字なら bold、そうでなければ normal ってログに出るばい!


getFontWeight() の活用テクニック

① 複数セルのフォントウエイトを取得する

getFontWeights() を使えば、範囲内のすべてのセルのフォントウエイトを配列で取れるばい!

const range = sheet.getRange("A1:C3");
const fontWeights = range.getFontWeights();
console.log(fontWeights);

配列の形で、[["bold", "normal", "normal"], ["bold", "bold", "normal"], ...] みたいに取得できるけ、ループで処理しやすいじゃ。

② 太字セルだけ色を変える

function highlightBoldCells() {
  const sheet = SpreadsheetApp.getActiveSheet();
  const range = sheet.getDataRange();
  const fontWeights = range.getFontWeights();
  
  fontWeights.forEach((row, rowIndex) => {
    row.forEach((weight, colIndex) => {
      if (weight === "bold") {
        range.getCell(rowIndex + 1, colIndex + 1).setBackground("yellow");
      }
    });
  });
}

これを実行すれば、シート内の太字セルだけが黄色くハイライトされるばい!

③ ヘッダーの統一チェック

スプレッドシートのヘッダーって、統一されとる?

function checkHeaderFormat() {
  const sheet = SpreadsheetApp.getActiveSheet();
  const header = sheet.getRange("A1:Z1").getFontWeights()[0];
  header.forEach((weight, index) => {
    if (weight !== "bold") {
      console.warn(`列${index + 1}のヘッダーが太字じゃないばい!`);
    }
  });
}

ヘッダー行のフォント設定をチェックして、バラつきをなくせるじゃ。


getFontWeight() を使うときの注意点

① 範囲指定時の動作に注意

例えば sheet.getRange("A1:C3").getFontWeight() を使うと、左上のセル(A1)だけの太字設定しか取得できんばい!範囲内のすべてのセルをチェックしたいなら、getFontWeights() を使うのが正解さ。

② パフォーマンスに気をつけろ!

例えば、1000セル分 getFontWeight() をループで回すと、スクリプトの実行時間がめっちゃ長くなるばい。getFontWeights() で一括取得することで、処理速度がグンと上がるけ。

③ セルが存在しないとエラーになる

try {
  const fontWeight = sheet.getRange("Z10000").getFontWeight();
  console.log(fontWeight);
} catch (error) {
  console.error("エラー発生: " + error.message);
}

エラー処理をしっかり書いとけば、スクリプトが途中で止まるのを防げるばい。


まとめ

  • getFontWeight() はセルの太字状態を取得するメソッド
  • getFontWeights() を使えば、範囲内のセルすべてのフォントウエイトを取得できる
  • 太字セルのハイライトやヘッダーの書式チェックに活用できる
  • パフォーマンスを考慮して、一括取得やエラーハンドリングを意識しよう

スプレッドシートのフォーマット管理に getFontWeight() を活用して、業務をスマートにしようばい!

セルの文字装飾(太字)を取得する:getFontWeight()【GAS】 | G Suite ガイド - G Suite ガイド:G Suite の導入方法や使い方を徹底解説!
getFontWeight() セルの文字装飾(太字)を取得する。 サンプルコード // 現在アクティブなスプレッドシートを取得 var ss = SpreadsheetApp.getActiveSpreadsheet(); // そのスプ...

Google Apps Scriptでスプレッドシートのセルのフォント情報を取得する方法 | 非IT企業に勤める中年サラリーマンのIT日記
Google Apps Scriptでスプレッドシートのセルのフォントの情報を得る方法です。Rangeオブジェクトの下記メソッドからフォント情報を得ることが出来ます。

googleドキュメントに自動でフォントを変更する機能を実装 - Qiita
報告書や論文を執筆する時、英数字や記号は〇〇フォント、それ以外は△△フォント。みたいに指定される場合が多いと思います。Microsoft Wordならそれらの設定を行えるのですが、Googleドキ…

【GAS】スプレッドシートのフォント機能まとめ【サンプルソース付】
GAS開発者向けにスプレッドシートのフォント機能をすべてまとめました。セルのデータを扱う時、フォントの色を変更したり、お気に入りの字体に変えたり、自由自在にオシャレに装飾できると素敵ですね。色、字体、太字、斜体、下線、サイズ設定と取得です。

Class Range  |  Apps Script  |  Google for Developers

コメント

タイトルとURLをコピーしました