このようなシートを用意しておく
A1に黒文字のテキスト
A2に赤文字のテキスト
これらの文字色をスクリプトで取得したい
コード.gs
function getTextColor() { var sheet = SpreadsheetApp.getActiveSheet(); var A1 = sheet.getRange("A1").getTextStyle().getForegroundColor(); var A2 = sheet.getRange("A2").getTextStyle().getForegroundColor(); Logger.log([A1, A2]); } |
意訳この機能がやること アクティブシートを取得して A1の文字色を取得して A2の文字色を取得して ログに出す |
getTextColor()を実行するとA1,A2のセルの文字色がログに出ます
メモ
スプレッドシートのセルにリンク付きの文字を貼り付けると
HYPERLINK関数ではない形式でリンクが追加されます。
例えば以下のリンク付きの文字をコピーして
Google Apps Script試行錯誤Blog
シートのA1に貼り付けると
このようにリンク付きで貼り付けられます
これはHYPERLINK関数ではないため
sheet.getRange("A1").getFormula()
などでリンクのURLを取得することはできません。
URLを取得する方法がわからなかったため、リンクありテキストか否かを判定するためにセルの文字色を取得してみたのがこの記事を書いた発端でした。
ちなみにHYPERLINK関数を使うとこのように書けます
=Hyperlink("http://www.pre-practice.net/","Google Apps Script試行錯誤Blog")
これなら
sheet.getRange("A1").getFormula()
で取得できます。
参考
getForegroundColor()
https://developers.google.com/apps-script/reference/spreadsheet/text-style#getForegroundColor()