みんな、スプレッドシートで「このセルだけ太字にしたい!」ってことあるばい?そんなときに便利なのが、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()
を活用して、業務をスマートにしようばい!




コメント