GASでスプレッドシートのテキストに装飾を配列で設定するには「setRichTextValues(values)
」を利用する。
setRichTextValues(values)
範囲内のセルのテキスト方向を設定します。指定された方向が null の場合、方向が推測されて設定されます。
https://developers.google.com/apps-script/reference/spreadsheet/range#settextdirectiondirection
スプレッドシートのテキストに装飾を配列で設定するGAS実行の様子
setRichTextValues(values) メソッドを利用して、スプレッドシートのテキストに装飾を配列で設定するGASを実行してみました。
setRichTextValues(values)を実行することで、
- 前もって装飾する設定を決め打ちして、変数へ格納しておく
- 格納した書式変数を縦方向の配列に適用させる
といった操作が可能です。縦方向の複数範囲に、同じ書式を設定する際に重宝するメソッドと言えるでしょう。
スプレッドシートの文字装飾のみをクリアする場合は、以下記事を御覧ください。
参照記事:【GAS】スプレッドシートの文字装飾のみをクリアする
スプレッドシートのテキストに装飾を配列で設定するGAS
function richitexts(){
////SpreadsheetAppを起動してシートをアクティブに
let ss = SpreadsheetApp.getActiveSheet();
//シート全体をクリア
ss.clear();
//任意のセルを入力して入力された値を取得
const cell = Browser.inputBox("任意のセルを入力してください(A1形式)");
//もしcellの値が空白なら
if(cell == ""){
Browser.msgBox("処理を中止します");//処理中止
}else{
//空白でないならrng範囲を設定
const rw = ss.getRange(cell).getRow();
const cl = ss.getRange(cell).getColumn();
const rng = ss.getRange(rw,cl,3,1);
//適当なテキストを各変数に設定
const text1 = "Spread";
const text2 = "Sheet";
const text3 = "Blue";
//newTextStyleで書式boldを作成
const bold = SpreadsheetApp.newTextStyle()
.setBold(true)
.setFontSize(18)
.build();
//newTextStyleで書式italicを作成
const italic = SpreadsheetApp.newTextStyle()
.setItalic(true)
.setFontSize(18)
.build();
//newTextStyleで書式blueを作成
const blue = SpreadsheetApp.newTextStyle()
.setForegroundColor('#0096FF')
.build();
//richtext1に書式boldを適用
const richtext1 = SpreadsheetApp.newRichTextValue()
.setText(text1)
.setTextStyle(bold)
.build();
//richtext2に書式italicを適用
const richtext2 = SpreadsheetApp.newRichTextValue()
.setText(text2)
.setTextStyle(italic)
.build();
//richtext3に書式blue/boldを適用
const richtext3 = SpreadsheetApp.newRichTextValue()
.setText(text3)
.setTextStyle(blue)
.setTextStyle(bold)
.build();
//rng範囲にsetRichTextValuesを適用して配列に各書式を設定
rng
.setRichTextValues([[richtext1],[richtext2],[richtext3]]);
}
}
setRichTextValues(values)のパラメーター
名前 | 型 | 説明 |
---|---|---|
direction | TextDirection | 目的のテキスト方向。nullの場合、設定前に方向が推測されます。 |
setRichTextValues(values) の戻り値
Range - チェーン用の範囲。
スプレッドシートのテキストに装飾を配列で設定するまとめ
GAS×スプレッドシートのテキストに装飾を配列で設定するならsetRichTextValues(values)
メソッドを利用しましょう。