GAS開発者向けにスプレッドシートのテキストスタイル機能をすべてまとめました。
フォント設定の機能の色、字体、太字、斜体、下線、サイズなどの全般機能です。設定だけでなく、現在の確認処理なども含みます。
全部まとめたら随分と長くなってしまいましたが。。。自分に必要な条件に絞って参考にしてください。
テキストスタイルに関するメソッドをすべて載せてます。少しでも参考になれば幸いです。
Google Apps Script スプレッドシート 基礎 リファレンス
当ページは、GAS公式リファレンスを元にスプレッドシートの機能毎にまとめた基礎的な内容となっております。
若干、文言がおかしい可能性がありますが、あらかじめご了承ください。
GAS基本メソッドまとめ一覧はコチラ↓↓↓です。スプレッドシートの基本的な機能をまとめてますので、ぜひご活用ください。
まずは実際に動かしてみることをオススメします。マクロの登録方法は以下を参照いただければと思います。
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);
}
名前 | タイプ | 説明 |
---|---|---|
style | TextStyle | 設定するテキストスタイル。 |
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]]);
}
名前 | タイプ | 説明 |
---|---|---|
styles | TextStyle[][] | 設定するテキストスタイル。 |
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
方法 | タイプ | 説明 |
---|---|---|
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
方法 | タイプ | 説明 |
---|---|---|
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>Return
TextStyle - このビルダーから作成されたテキストスタイル。
テキスト太字設定[setBold(太字)]
setBold(bold)
テキストを太字にするかどうかを設定します。
名前 | タイプ | 説明 |
---|---|---|
bold | Boolean | テキストが太字かどうか。 |
Return
TextStyleBuilder - 連鎖用のビルダー。
テキストフォントファミリー設定[setFontFamily(フォントファミリー)]
setFontFamily(fontFamily)
「Arial」などのテキストフォントファミリを設定します。
名前 | タイプ | 説明 |
---|---|---|
fontFamily | String | 設定するフォントファミリー。 |
Return
TextStyleBuilder - 連鎖用のビルダー。
テキストフォントサイズ設定[setFontSize(フォントサイズ)]
setFontSize(fontSize)
テキストのフォントサイズをポイント単位で設定します。
名前 | タイプ | 説明 |
---|---|---|
fontSize | Integer | 設定するフォントサイズ。 |
Return
TextStyleBuilder - The builder for chaining。
テキストフォント色設定[setForegroundColor(フォント色)]
setForegroundColor(cssString)
テキストフォントの色を設定します。
名前 | タイプ | 説明 |
---|---|---|
cssString | String | CSS表記での設定するフォントカラー( '#ffffff'や 'white'など)。 |
Return
TextStyleBuilder - 連鎖用のビルダー。
テキスト斜体設定[setItalic(斜体)]
setItalic(italic)
テキストを斜体にするかどうかを設定します。
名前 | タイプ | 説明 |
---|---|---|
italic | Boolean | テキストが斜体であるかどうか。 |
Return
TextStyleBuilder - 連鎖用のビルダー。
テキスト取り消し線設定[setStrikethrough(取り消し線)]
setStrikethrough(strikethrough)
テキストに取り消し線が付くかどうかを設定します。
名前 | タイプ | 説明 |
---|---|---|
strikethrough | Boolean | テキストに取り消し線が付いているかどうか。 |
Return
TextStyleBuilder - 連鎖用のビルダー。
テキスト下線設定[setUnderline(下線)]
setUnderline(underline)
テキストに下線を引くかどうかを設定します。
名前 | タイプ | 説明 |
---|---|---|
underline | Boolean | テキストに下線が引かれているかどうか。 |
Return
TextStyleBuilder - 連鎖用のビルダー。
最後に
GASテキストスタイル機能のまとめをご紹介させていただきました。
必要に応じて、有益な情報でさらに更新していきたいと思います。
プログラミングスキルを向上させるためには、本を読むだけでは脳にインプットされませんね。
実際に手を動かしてアウトプットしまくるのが一番の近道だと思います。
実際にサンプルソースをコピーして実行した結果がどうなるかを体験してみてください。
自分なりのアレンジを加えたり、なぜエラーになるのかを考え、何度も試行錯誤して問題を解決しまくり、着実に理解しながらスキルを向上させていきましょう。
GASはExcelVBAとはかなり違いますが、ベースとなっているJavaScriptは覚えて損はないプログラミング言語なのでショートカットキーなどと組み合わせてぜひ活用してみてください。
Googleスプレッドシート全ショートカットキー一覧はこちら↓↓↓
ショートカットキー一覧にもGASメソッドを載せています。どの操作からどのメソッドが呼ばれるのかイメージしてください。
コメント