セル範囲を操作する

【GAS】スプレッドシートに書式を設定する

GASでスプレッドシートに書式を設定するには「setNumberFormat(numberFormat) 」を利用する。

setNumberFormat(numberFormat)

数値または日付の形式を、指定された書式設定文字列に設定します。使用可能な形式のパターンについては、スプレッドシート API のドキュメントをご覧ください。

https://developers.google.com/apps-script/reference/spreadsheet/range#setnumberformatnumberformat

スプレッドシートに書式を設定するGAS実行の様子

setNumberFormat(numberFormat) メソッドを利用して、スプレッドシートに書式を設定するGASを実行してみました。

setNumberFormat(numberFormat)を実装・実行することで、

  • スプレッドシートのセルを任意の書式に設定する

といったことが可能です。

注意!配列処理ではsetNumberFormat(numberFormat)はうまく実装されません。

スプレッドシートで範囲を保護する場合は、以下記事を御覧ください。

参照記事:【GAS】スプレッドシートで範囲を保護する

スプレッドシートに書式を設定するGAS

function numberformat(){
  //SpreadsheetAppを起動
  let ss = SpreadsheetApp.getActiveSpreadsheet();
  //0番目のシートを取得
  let sht = ss.getSheets()[0];
 
 //シート全体のクリア
  sht
  .clear()
  .clearFormats();
  //for文で値を6行分追加
    for (let i=1;i<=6;i++){
      sht.getRange(i,1).setValue(i);
      sht.getRange(i,2).setValue(i);
    }
 
 //YESNOで書式を変更するか確認
  const yesno = Browser.msgBox("2列目の書式を変更しますか?",Browser.Buttons.YES_NO);
  //YESなら
    if(yesno == "yes"){
   //書式を6つ設定
      let format1 = "0.0";
      let format2 = "0分";
      let format3 = "0秒";
      let format4 = "0%";
      let format5 = "0時間";
      let format6 = "0日";
   //設定した書式6つを6行の値に設定
      sht.getRange(1,2).setNumberFormat(format1);
      sht.getRange(2,2).setNumberFormat(format2);
      sht.getRange(3,2).setNumberFormat(format3);
      sht.getRange(4,2).setNumberFormat(format4);
      sht.getRange(5,2).setNumberFormat(format5);
      sht.getRange(6,2).setNumberFormat(format6);
    } else {
     //書式設定しなかった旨を掲載
      Browser.msgBox("書式は変更しませんでした");
    }
}

setNumberFormat(numberFormat) のパラメーター

名前説明
numberFormatString数値形式の文字列。
setNumberFormat(numberFormat) のパラメーター

setNumberFormat(numberFormat) の戻り値

Range - チェーン用の範囲。

スプレッドシートに書式を設定するまとめ

GAS×スプレッドシートに書式を設定するならsetNumberFormat(numberFormat) メソッドを利用しましょう。

関連記事:【GAS】スプレッドシートの範囲をセル結合する

関連記事:【GAS】スプレッドシートで縦方向にセル結合する

関連記事:【GAS】スプレッドシートの指定範囲を昇順・降順に並び替える

関連記事:【GAS】スプレッドシートで基準セルから指定の行・列数分移動して任意の行・列範囲を取得する

-セル範囲を操作する