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
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) のパラメーター
名前 | 型 | 説明 |
---|---|---|
numberFormat | String | 数値形式の文字列。 |
setNumberFormat(numberFormat) の戻り値
Range - チェーン用の範囲。
スプレッドシートに書式を設定するまとめ
GAS×スプレッドシートに書式を設定するならsetNumberFormat(numberFormat)
メソッドを利用しましょう。