GASでスプレッドシートでテキストの書体を配列で変更するには「setFontFamilies(fontFamilies)
」を利用する。
setFontFamilies(fontFamilies)
フォント ファミリーの長方形グリッドを設定します(この範囲のディメンションと一致させる必要があります)。フォント ファミリーの例は「≠」または「Helvetica」です。
https://developers.google.com/apps-script/reference/spreadsheet/range#setfontfamiliesfontfamilies
スプレッドシートでテキストの書体を配列で変更するGAS実行の様子
setFontFamilies(fontFamilies) メソッドを利用して、スプレッドシートでテキストの書体を配列で変更するGASを実行してみました。
setFontFamilies(fontFamilies)を実行することで、
- 配列範囲で
- 複数セルの書体を変更する
といった操作が可能です。セルの書体すべてが変更になる点に、注意が必要です。
また、setFontFamiliesで指定する書体は、SpreadSheet上で指定する書体と同じキャメル方式で指定します。
スプレッドシートで数値・日付を指定した書式に設定する場合は、以下記事を御覧ください。
参照記事:【GAS】スプレッドシートで数値・日付を指定した書式に設定する
スプレッドシートでテキストの書体を配列で変更するGAS
function textarray(){
//SpreadsheetAppを起動
let ss = SpreadsheetApp.getActiveSpreadsheet();
//0番目のシートを取得
let sht = ss.getSheets()[0];
//シート全体をクリア
sht.clear();
//変数valに入力されたA列セル値を格納
const val = Browser.inputBox("任意のA列セルを入力してください(A1形式)");
//rwにvalの行数を格納
const rw = sht.getRange(val).getRow();
//startにvalのA1形式を格納
const start = sht.getRange(val).getA1Notation();
//endにvalセルからずらした範囲を格納
const end = sht.getRange(rw+1,4).getA1Notation();
//textに適当な文字を格納
const text = [
["SpreadSheet","Blue",".com"]
];
//100行分、textを繰り返し入力して最右端列にはナンバリング
for(let i=1;i<=100;i++){
sht.getRange(i,1).setValue(i);
sht.getRange(i,2,1,3).setValues(text);
}
//setFontFamiliesで設定する書式をfontsに配列で設定
const fonts = [
["Impact","Kaushan Script","Carter One","Rock Salt"],
["Press Start 2P","Anton","Pacifico","Permanent Marker"]
];
//cellに配列範囲を設定して格納
const cell = sht.getRange(start+":"+end);
//cell範囲の背景を黄色に
//■setFontFamiliesで書式を設定
cell
.setBackground("yellow")
.setFontFamilies(fonts);
}
setFontFamilies(fontFamilies)のパラメーター
名前 | 型 | 説明 |
---|---|---|
fontFamilies | Object[][] | フォント ファミリーの 2 次元配列。null 値ではフォント ファミリーがリセットされます。 |
setFontFamilies(fontFamilies) の戻り値
Range - チェーン用の範囲。
スプレッドシートでテキストの書体を配列で変更するまとめ
GAS×スプレッドシートでテキストの書体を配列で変更するならsetFontFamilies(fontFamilies)
メソッドを利用しましょう。