GASでスプレッドシートの指定範囲から下線・取り消し線を一括取得する方法

みんな、Googleスプレッドシートの装飾情報をプログラムで取得したいことってないかい?たとえば、どのセルに下線や取り消し線が付いてるかをチェックしたい時、手作業じゃ面倒だよね?

そこで登場するのがGAS(Google Apps Script)の getFontLines() メソッドばい!このメソッドを使えば、セル範囲のフォント装飾をプログラムで取得できるっちゃ。

スポンサーリンク

getFontLines() ってなんね?

GASでスプレッドシートのフォント装飾(下線・取り消し線)を取得するためのメソッドじゃ!使い方はシンプルで、Range オブジェクトに対して呼び出せば、各セルの装飾情報を配列で返してくれるんよ。

書き方はこんな感じばい!

const fontLines = range.getFontLines();

これで、range 内のセル装飾情報が二次元配列で返ってくるばい。

どんなデータが返ってくると?

getFontLines() の戻り値は、セルの装飾状態を示す文字列の二次元配列ばい。

  • 'underline': 下線付き
  • 'line-through': 取り消し線付き
  • 'none': 装飾なし

例えば、こんな表があるとするばい!

+------------+------------+
|   A1       |   B1       |
| underline  | none       |
+------------+------------+
|   A2       |   B2       |
| line-through | underline |
+------------+------------+
|   A3       |   B3       |
| none       | line-through |
+------------+------------+

この場合、getFontLines() を実行すると、こういう配列が返ってくるばい。

[
  ['underline', 'none'],
  ['line-through', 'underline'],
  ['none', 'line-through']
]

つまり、セルの装飾状態をそのまま配列として取得できるっちゃ。

実際のコード例を見てみるばい!

1. フォント装飾を取得してコンソールに表示する

function fetchFontDecorations() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('SalesData');
  const targetRange = sheet.getRange('B2:D10');
  const decorationMatrix = targetRange.getFontLines();
  
  decorationMatrix.forEach((row, rowIndex) => {
    row.forEach((cellStyle, colIndex) => {
      console.log(`Cell ${rowIndex+2}-${colIndex+2}: ${cellStyle}`);
    });
  });
}

このコードを実行すると、セルごとの装飾状態がコンソールに表示されるばい!

2. 取り消し線がついたセルにコメントを追加する

function processSpecialDecorations() {
  const range = SpreadsheetApp.getActiveRange();
  const decorations = range.getFontLines();
  
  decorations.forEach((row, i) => {
    row.forEach((style, j) => {
      if(style === 'line-through') {
        const cell = range.getCell(i+1, j+1);
        const comment = cell.getNote();
        cell.setNote(`${comment}\nCanceled at: ${new Date()}`);
      }
    });
  });
}

このスクリプトを実行すると、取り消し線が付いたセルに「キャンセル日時」を自動で追記できるっちゃ!

こんな場面で使えるばい!

  • タスク管理: 取り消し線が入ったタスクを自動でログに記録
  • データ検証: 下線が入ったセルの値が正しいかチェック
  • 履歴管理: フォント装飾の変更を監視して、変更ログを残す

まとめ

getFontLines() を使えば、Googleスプレッドシート内のフォント装飾を簡単に取得できるばい!

「下線付きのセルだけ抽出したい!」「取り消し線が付いたデータをログに残したい!」っていう時に超便利け!GASを活用して、作業を効率化していこうばい!


コメント

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