Google Apps Script(GAS)は、Googleスプレッドシートの自動化に便利なツールばい。今回はその中でも、テキスト装飾を取得できるgetFontLine()
メソッドについて詳しく掘り下げていくけ!
getFontLine()メソッドとは?
getFontLine()
は、スプレッドシート内の特定のセルや範囲のテキスト装飾(下線や取り消し線)を取得するためのメソッドじゃ。
メソッドの構文
range.getFontLine();
戻り値の種類
このメソッドは以下の3種類の値を返すばい。
'underline'
(下線あり)'line-through'
(取り消し線あり)'none'
(装飾なし)
getFontLine()の基本的な使い方
単一セルの装飾を取得する
function checkSingleCellDecoration() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('SalesData');
const targetCell = sheet.getRange('B2');
Logger.log(`B2セルの装飾状態: ${targetCell.getFontLine()}`);
}
このコードを実行すると、B2セルの装飾状態がログに出力されるばい。
複数セルの装飾を一括取得
複数セルをまとめて処理したい場合はgetFontLines()
メソッドを使うと便利じゃ。
function checkRangeDecorations() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Inventory');
const dataRange = sheet.getRange('A1:C5');
const decorationMatrix = dataRange.getFontLines();
decorationMatrix.forEach((row, rowIndex) => {
row.forEach((cellStatus, colIndex) => {
console.log(`セル ${String.fromCharCode(65 + colIndex)}${rowIndex + 1}: ${cellStatus}`);
});
});
}
getFontLines()
は二次元配列で装飾情報を取得できるばい。大規模なデータを扱う時に便利じゃ。
getFontLine()の実践的な活用例
注文管理システムでの活用
取り消し線が付いたセルを見つけて、注文キャンセル処理を実行する例ばい。
function validateOrderEntries() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Orders');
const validationRange = sheet.getRange('D2:D100');
const cancellationFlags = validationRange.getFontLines();
cancellationFlags.flat().forEach((status, index) => {
if (status === 'line-through') {
console.warn(`行 ${index + 2} の注文が取り消し済みばい!`);
}
});
}
パフォーマンス最適化のポイント
バッチ処理の活用
getFontLines()
を使うとAPI呼び出し回数を減らせるけ。
function optimizedBatchProcessing() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const fullRange = sheet.getDataRange();
const fontData = fullRange.getFontLines();
fontData.forEach((row, r) => {
const noteText = row.map(status => status === 'none' ? '未処理' : '処理済み').join(',');
sheet.getRange(r + 1, 1).setNote(noteText);
});
}
まとめ
getFontLine()
メソッドを使えば、Googleスプレッドシートの装飾情報を簡単に取得できるばい。注文管理やデータ解析など、いろんな場面で活用できるけ、試してみるといいじゃ!
コメント