【GAS】スプレッドシートのテキストスタイル機能まとめ【サンプルソース付】

快速ワーク
スポンサーリンク

GAS開発者向けにスプレッドシートのテキストスタイル機能をすべてまとめました。

フォント設定の機能の色、字体、太字、斜体、下線、サイズなどの全般機能です。設定だけでなく、現在の確認処理なども含みます。

全部まとめたら随分と長くなってしまいましたが。。。自分に必要な条件に絞って参考にしてください。

テキストスタイルに関するメソッドをすべて載せてます。少しでも参考になれば幸いです。


スポンサーリンク
  1. Google Apps Script スプレッドシート 基礎 リファレンス
  2. スプレッドシートAPPクラス[SpreadsheetApp]のテキストスタイルビルダー作成
    1. テキストスタイルビルダー作成[newTextStyle()]
  3. セル範囲クラス[Range]のテキストスタイル設定
    1. テキストスタイル設定[setTextStyle(スタイル)]
    2. テキストスタイル配列設定[setTextStyles(スタイル's)]
  4. セル範囲クラス[Range]のテキストスタイル取得
    1. テキストスタイル取得[getTextStyle()]
    2. テキストスタイル配列取得[getTextStyles()]
  5. テキストスタイルクラス[TextStyle]
    1. テキストスタイルビルダーコピー作成[copy()]
    2. テキストフォントファミリー取得[getFontFamily()]
    3. テキストフォントサイズ取得[getFontSize()]
    4. テキストフォント色取得[getForegroundColor()]
    5. テキスト太字取得[isBold()]
    6. テキスト斜体取得[isItalic()]
    7. テキスト取り消し線取得[isStrikethrough()]
    8. テキスト下線取得[isUnderline()]
  6. テキストスタイルビルダークラス[TextStyleBuilder]
    1. テキストスタイル構築[build()]
    2. テキスト太字設定[setBold(太字)]
    3. テキストフォントファミリー設定[setFontFamily(フォントファミリー)]
    4. テキストフォントサイズ設定[setFontSize(フォントサイズ)]
    5. テキストフォント色設定[setForegroundColor(フォント色)]
    6. テキスト斜体設定[setItalic(斜体)]
    7. テキスト取り消し線設定[setStrikethrough(取り消し線)]
    8. テキスト下線設定[setUnderline(下線)]
  7. 最後に

Google Apps Script スプレッドシート 基礎 リファレンス

当ページは、GAS公式リファレンスを元にスプレッドシートの機能毎にまとめた基礎的な内容となっております。

若干、文言がおかしい可能性がありますが、あらかじめご了承ください。

 

GAS基本メソッドまとめ一覧はコチラ↓↓↓です。スプレッドシートの基本的な機能をまとめてますので、ぜひご活用ください。

【GAS】スプレッドシート基本メソッドまとめ一覧【初心者入門】
GAS開発者向けにスプレッドシートの基本的なメソッドを一覧にまとめました。各機能ごとのクラス、メソッドごとのサンプルソース付ページへリンクする一覧です。初心者にとって、スプレッドシートの基本的な操作・機能単位のメソッドを知...

 

まずは実際に動かしてみることをオススメします。マクロの登録方法は以下を参照いただければと思います。

【GAS】Googleスプレッドシートでマクロの使い方入門【動画付】
Googleの「Google Apps Script」通称GAS。GoogleマップやGメールなど、いろんなGoogle関連のサービスと自由に連携できたり、独自のWebアプリを開発することもできる、いろんな可能性を秘めたワクワクの...

 

GASの本はまだまだ少ないですね。基礎レベルであれば、以下の参考書が初心者にはベストの本です。

基本的な仕様やよく使われる機能の設定方法がまとまっています。

※JavaScriptの知識が既にある程度ある人にとっては冗長かもしれません。


スプレッドシートAPPクラス[SpreadsheetApp]のテキストスタイルビルダー作成

スプレッドシートAPPクラスのテキストスタイルビルダー作成です。

テキストスタイルビルダー作成[newTextStyle()]

newTextStyle()
テキストスタイルのビルダーを作成します。

function newTextStyleSample() {
  // 範囲A1:B3を赤、サイズ22、太字、下線付きのテキストに設定します。
  var range = SpreadsheetApp.getActive().getRange('A1:B3');
  var style = SpreadsheetApp.newTextStyle()
  .setForegroundColor("red")
  .setFontSize(22)
  .setBold(true)
  .setUnderline(true)
  .build();
  range.setTextStyle(style);
}

Return
TextStyleBuilder - 新しいビルダー。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class SpreadsheetApp | Methods | newTextStyle()


セル範囲クラス[Range]のテキストスタイル設定

セル範囲のテキストスタイル設定メソッドです。

テキストスタイル設定[setTextStyle(スタイル)]

setTextStyle(style)
範囲内のセルのテキストスタイルを設定します。

function setTextStyleSample() {
  // 範囲C5:D6のセルに下線付きのサイズ15フォントを設定します。
  var sheet = SpreadsheetApp.getActiveSheet();
  var range = sheet.getRange("C5:D6");
  var style = SpreadsheetApp.newTextStyle()
  .setFontSize(15)
  .setUnderline(true)
  .build();
  range.setTextStyle(style);
}
Parameters
名前タイプ説明
styleTextStyle設定するテキストスタイル。

Return
Range - 連鎖用のセル範囲。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | setTextStyle(style)

テキストスタイル配列設定[setTextStyles(スタイル's)]

setTextStyles(styles)
テキストスタイルの2次元配列を設定します。

function setTextStylesSample() {
  // 範囲A1:B2のセルにテキストスタイルを設定します
  var sheet = SpreadsheetApp.getActiveSheet();
  var range = sheet.getRange("A1:B2");
  var bold = SpreadsheetApp.newTextStyle()
  .setBold(true)
  .build();
  var otherStyle = SpreadsheetApp.newTextStyle()
  .setBold(true)
  .setUnderline(true)
  .setItalic(true)
  .setForegroundColor("#335522")
  .setFontSize(44)
  .build();
  range.setTextStyles([[bold, otherStyle], [otherStyle, bold]]);
}
Parameters
名前タイプ説明
stylesTextStyle[][]設定するテキストスタイル。

Return

参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | setTextStyles(styles)


セル範囲クラス[Range]のテキストスタイル取得

セル範囲のテキストスタイル取得メソッドです。

テキストスタイル取得[getTextStyle()]

getTextStyle()
範囲の左上のセルのテキストスタイルを返します。

function getTextStyleSample() {
  // セルD4のテキストスタイルを取得します。
  var sheet = SpreadsheetApp.getActiveSheet();
  var range = sheet.getRange("D4:F6");
  var style = range.getTextStyle();
  Logger.log(style);
}

Return
TextStyle - 範囲内の左上隅のセルのテキストスタイル。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | getTextStyle()

テキストスタイル配列取得[getTextStyles()]

getTextStyles()
範囲内のセルのテキストスタイルを返します。

function getTextStylesSample() {
  // 範囲B5:C6のすべてのセルのテキストスタイルを取得します
  var sheet = SpreadsheetApp.getActiveSheet();
  var range = sheet.getRange("B5:C6");
  var styles = range.getTextStyles();

  for (var i = 0; i < styles.length; i++) {
    for (var j = 0; j < styles[i].length; j++) {
      Logger.log(styles[i][j]);
    }
  }
}

Return
TextStyle[][] - テキストスタイルの2次元配列。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | getTextStyles()




テキストスタイルクラス[TextStyle]

セル内のテキストのレンダリングスタイル。

テキストスタイルは、対応するRichTextValueを持つことができます。 RichTextValueが、特定のテキストスタイルのreadメソッドに対して異なる値を持つ複数のテキストランにまたがる場合、このメソッドはnullを返します。これを回避するには、RichTextValue.getRuns()メソッドによって返されるRich Text値を使用してテキストスタイルを照会します。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class TextStyle

Methods
方法タイプ説明
copy()TextStyleBuilderこのテキストスタイルの値で初期化されたテキストスタイルビルダーを作成します。
getFontFamily()Stringテキストのフォントファミリーを取得します。
getFontSize()Integerテキストのフォントサイズをポイント単位で取得します。
getForegroundColor()Stringテキストのフォント色を取得します。
isBold()Booleanテキストが太字かどうかを取得します。
isItalic()Booleanセルが斜体かどうかを取得します。
isStrikethrough()Booleanセルに取り消し線があるかどうかを取得します。
isUnderline()Booleanセルに下線が引かれているかどうかを取得します。

テキストスタイルビルダーコピー作成[copy()]

copy()
このテキストスタイルの値で初期化されたテキストスタイルビルダーを作成します。

Return
TextStyleBuilder - このテキストスタイルのビルダー。

テキストフォントファミリー取得[getFontFamily()]

getFontFamily()
テキストのフォントファミリーを取得します。フォントファミリが設定されていないか、対応するRichTextValueに異なるフォントファミリで複数の実行がある場合はnullを返します。

Return
String - テキストのフォントファミリー(「Arial」など)またはnullです。

テキストフォントサイズ取得[getFontSize()]

getFontSize()
テキストのフォントサイズをポイント単位で取得します。フォントサイズが設定されていない場合、または対応するRichTextValueに異なるフォントサイズで複数の実行がある場合はnullを返します。

Return
Integer - テキストのフォントサイズ、またはnull。

テキストフォント色取得[getForegroundColor()]

getForegroundColor()
テキストのフォント色を取得します。フォントカラーが設定されていないか、対応するRichTextValueに異なるフォントカラーで複数のランがある場合はnullを返します。

Return
String - テキストのフォント色を16進CSS値( "#ff0000"など)またはnullで表したものです。

テキスト太字取得[isBold()]

isBold()
テキストが太字かどうかを取得します。太字が設定されていない場合、または対応するRichTextValueに異なる太字設定で複数の実行がある場合は、nullを返します。

Return
Boolean - セルが太字であるかどうか、またはnullかどうか。

テキスト斜体取得[isItalic()]

isItalic()
セルが斜体かどうかを取得します。イタリックが設定されていない場合、または対応するRichTextValueに異なるイタリック設定で複数の実行がある場合は、nullを返します。

Return
Boolean - セルが斜体であるかどうか、またはnullかどうか。

テキスト取り消し線取得[isStrikethrough()]

isStrikethrough()
セルに取り消し線があるかどうかを取得します。取り消し線が設定されていない場合、または対応するRichTextValueに取り消し線の設定が異なる複数の実行がある場合は、nullを返します。

Return
Boolean - セルに取り消し線があるかどうか、またはnullかどうか。

テキスト下線取得[isUnderline()]

isUnderline()
セルに下線が引かれているかどうかを取得します。下線が設定されていない場合、または対応するRichTextValueに下線設定が異なる複数の実行がある場合は、nullを返します。

Return
Boolean - セルに下線が引かれているかどうか、またはnullです。


テキストスタイルビルダークラス[TextStyleBuilder]

テキストスタイルのビルダー。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class TextStyleBuilder

Methods
方法タイプ説明
build()TextStyleこのビルダーからテキストスタイルを作成します。
setBold(bold)TextStyleBuilderテキストを太字にするかどうかを設定します。
setFontFamily(fontFamily)TextStyleBuilder「Arial」などのテキストフォントファミリを設定します。
setFontSize(fontSize)TextStyleBuilderテキストのフォントサイズをポイント単位で設定します。
setForegroundColor(cssString)TextStyleBuilderテキストフォントの色を設定します。
setItalic(italic)TextStyleBuilderテキストを斜体にするかどうかを設定します。
setStrikethrough(strikethrough)TextStyleBuilderテキストに取り消し線が付くかどうかを設定します。
setUnderline(underline)TextStyleBuilderテキストに下線を引くかどうかを設定します。

テキストスタイル構築[build()]

build()
このビルダーからテキストスタイルを作成します。

span style="font-size: 120%; font-weight: bold; border-bottom: solid 1.5px;">Return
TextStyle - このビルダーから作成されたテキストスタイル。

テキスト太字設定[setBold(太字)]

setBold(bold)
テキストを太字にするかどうかを設定します。

Parameters
名前タイプ説明
boldBooleanテキストが太字かどうか。

Return
TextStyleBuilder - 連鎖用のビルダー。

テキストフォントファミリー設定[setFontFamily(フォントファミリー)]

setFontFamily(fontFamily)
「Arial」などのテキストフォントファミリを設定します。

Parameters
名前タイプ説明
fontFamilyString設定するフォントファミリー。

Return
TextStyleBuilder - 連鎖用のビルダー。

テキストフォントサイズ設定[setFontSize(フォントサイズ)]

setFontSize(fontSize)
テキストのフォントサイズをポイント単位で設定します。

Parameters
名前タイプ説明
fontSizeInteger設定するフォントサイズ。

Return
TextStyleBuilder - The builder for chaining。

テキストフォント色設定[setForegroundColor(フォント色)]

setForegroundColor(cssString)
テキストフォントの色を設定します。

Parameters
名前タイプ説明
cssStringStringCSS表記での設定するフォントカラー( '#ffffff'や 'white'など)。

Return
TextStyleBuilder - 連鎖用のビルダー。

テキスト斜体設定[setItalic(斜体)]

setItalic(italic)
テキストを斜体にするかどうかを設定します。

Parameters
名前タイプ説明
italicBooleanテキストが斜体であるかどうか。

Return
TextStyleBuilder - 連鎖用のビルダー。

テキスト取り消し線設定[setStrikethrough(取り消し線)]

setStrikethrough(strikethrough)
テキストに取り消し線が付くかどうかを設定します。

Parameters
名前タイプ説明
strikethroughBooleanテキストに取り消し線が付いているかどうか。

Return
TextStyleBuilder - 連鎖用のビルダー。

テキスト下線設定[setUnderline(下線)]

setUnderline(underline)
テキストに下線を引くかどうかを設定します。

Parameters
名前タイプ説明
underlineBooleanテキストに下線が引かれているかどうか。

Return
TextStyleBuilder - 連鎖用のビルダー。


最後に

GASテキストスタイル機能のまとめをご紹介させていただきました。

必要に応じて、有益な情報でさらに更新していきたいと思います。

プログラミングスキルを向上させるためには、本を読むだけでは脳にインプットされませんね。

実際に手を動かしてアウトプットしまくるのが一番の近道だと思います。

実際にサンプルソースをコピーして実行した結果がどうなるかを体験してみてください。

自分なりのアレンジを加えたり、なぜエラーになるのかを考え、何度も試行錯誤して問題を解決しまくり、着実に理解しながらスキルを向上させていきましょう。

GASはExcelVBAとはかなり違いますが、ベースとなっているJavaScriptは覚えて損はないプログラミング言語なのでショートカットキーなどと組み合わせてぜひ活用してみてください。

Googleスプレッドシート全ショートカットキー一覧はこちら↓↓↓

Googleスプレッドシートの使い方や機能がわかるショートカットキー全まとめ一覧【初心者こそ必見】
表計算ソフトとして、まだまだExcelのシェア率は高いですが、GoogleスプレッドシートにはExcelにはない超強力な関数があったり、Excelとは違って常に最新版を無料で使用できます。なにより、インターネットを使ったオンライン...

ショートカットキー一覧にもGASメソッドを載せています。どの操作からどのメソッドが呼ばれるのかイメージしてください。




コメント

//▼2023/04/08追加 //https://lovagelab.com/posts/3406/ //▲2023/04/08追加