LANG SELRCT

Apps Script Reference  (Create: Create new Spreadsheet | Create new Apps Script

Saturday, February 2, 2019

セルの文字色を取得する


このようなシートを用意しておく
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()

Latest post

スプレッドシートA列にある複数のテキストをスライドに追加したい(Google Apps Script)

今回Google Apps Scriptでやりたいこと GoogleスプレッドシートA列にある複数の値を取得して Googleスライドに渡して 図形オブジェクトのテキストとして追加したい ① スプレッドシートのA列に値を入れておく ② Code.gsのinsertNewShape...