文字を操作する

【GAS】スプレッドシートのテキストに装飾を配列で設定する

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)のパラメーター

名前説明
directionTextDirection目的のテキスト方向。nullの場合、設定前に方向が推測されます。
setRichTextValues(values)のパラメーター

setRichTextValues(values) の戻り値

Range - チェーン用の範囲。

スプレッドシートのテキストに装飾を配列で設定するまとめ

GAS×スプレッドシートのテキストに装飾を配列で設定するならsetRichTextValues(values) メソッドを利用しましょう。

関連記事:【GAS】スプレッドシートに数式を設定する

関連記事:【GAS】スプレッドシートで数式を複数設定する

関連記事:【GAS】スプレッドシートで数式をR1C1形式で設定する

関連記事:【GAS】スプレッドシートで数値・日付を指定した書式に設定する

-文字を操作する