GASでスプレッドシートの指定セルの文字線設定を取得する方法徹底解説

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スプレッドシートの装飾情報を簡単に取得できるばい。注文管理やデータ解析など、いろんな場面で活用できるけ、試してみるといいじゃ!

コメント

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