今回はGAS(Google Apps Script)に関して書いていきます。
以前もGASに関する記事を書いています(以下リンク)。
上記の記事で、GASでNotionからデータ取得してスプレッドシートに出力するように対応しました。
スプレッドシートのデータの1行目は見出しを設定しています。
今回、その見出しに書式設定(文字色/背景色/太字)してみました。
今回の記事では、その辺りに関して書いていきます。
それでは本題へ。
やりたいこと
記事の冒頭でも触れましたが、以下記事の追加対応となります。
上記の記事で、Notionから取得したデータをスプレッドシートに出力しています。
そして「スプレッドシートの出力」に関して、別記事にて具体的に説明しました(以下リンク)。
そして上記の記事で出力したスプレッドシートが以下のような感じです。
このスプレッドシートの「見出し」に書式設定(文字色/背景色/太字)します。
プログラム
ということで、プログラムです。
// スプレッドシートのファイルID const SPREADSHEET_FILE_ID = PropertiesService.getScriptProperties().getProperty('SPREADSHEET_FILE_ID'); /** * メイン処理 */ function main() { // 1行目(見出し) const dataArray = [['見出し1','見出し2','見出し3','見出し4','見出し5']]; // 2行目以降(データ) dataArray.push(['データA2','データB2','データC2','データD2','データE2']); dataArray.push(['データA3','データB3','データC3','データD3','データE3']); dataArray.push(['データA4','データB4','データC4','データD4','データE4']); dataArray.push(['データA5','データB5','データC5','データD5','データE5']); dataArray.push(['データA6','データB6','データC6','データD6','データE6']); dataArray.push(['データA7','データB7','データC7','データD7','データE7']); dataArray.push(['データA8','データB8','データC8','データD8','データE8']); dataArray.push(['データA9','データB9','データC9','データD9','データE9']); dataArray.push(['データA10','データB10','データC10','データD10','データE10']); dataArray.push(['データA11','データB11','データC11','データD11','データE11']); // スプレッドシートを取得 const spreadsheet = SpreadsheetApp.openById(SPREADSHEET_FILE_ID); // シートを取得 const sheet = spreadsheet.getSheetByName('データ'); // シートのデータをクリア sheet.clear(); // データをセットする(セル範囲を指定) const startRow = 1; const startColumn = 1; const numRows = dataArray.length; const numColumns = dataArray[0].length; sheet.getRange(startRow, startColumn, numRows, numColumns).setValues(dataArray); // 見出しにスタイル適用 ★追加 const header = sheet.getRange(1, 1, 1, numColumns); header.setFontColor('#FFFFFF'); header.setBackground('#111111'); header.setFontWeight('bold'); // 見出しにスタイル適用 ★追加ここまで }
前回の記事との差分を分かりやすくするため、プログラムコメントに「★追加」と書いています。
「★追加」から「★追加ここまで」が今回追加した部分です。
プログラムのポイント
プログラムの中からポイントとなる部分をピックアップして説明していきます。
SpreadsheetApp
「SpreadsheetApp」で、スプレッドシートを色々と操作できます。
developers.google.com
Sheet.getRange
「Sheet.getRange」で、セル範囲を指定できます。
今回は1行目1列目(A1セル)を起点として、1行5列(見出し部分)をセル範囲として指定しています。
developers.google.com
Range.setFontColor
「Range.setFontColor」で、文字色を設定できます。
色はキーワード(red、white等)で指定したり、カラーコード(#FFFFFF等)で指定したりできます。
developers.google.com
Range.setBackground
「Range.setBackground」で、背景色を設定できます。
色はキーワード(red、black等)で指定したり、カラーコード(#111111等)で指定したりできます。
developers.google.com
Range.setFontWeight
「Range.setFontWeight」で、”bold”を指定すると太字にできます。
developers.google.com
おわりに
ということで、「【GAS】スプレッドシートに書式設定する(文字色/背景色/太字)」に関してアレコレ書いてみました。
今回は「文字色」「背景色」「太字」の3つを設定しました。
他にも「枠線(setBorder)」や「フォント(setFontFamily)」など、色々設定できるみたいです。
こだわり始めるとキリがないので、今回は自分がよく設定するパターンをGASで実装してみました。
この記事が参考になれば幸いです。
関連記事
GAS(Google Apps Script)に関してはいくつか記事にしています。
気になる記事があればぜひ。
GASの活用事例
GASでNotionのデータをスプレッドシートに出力してグラフ化 - 派生記事