Google Apps Script (GAS) でこのセル範囲のフォントや、色・線・斜体などのフォント関連の設定を取得・設定する方法を説明します。
Rangeクラスのメソッドを利用した手順について説明します。
Google Apps Scriptの基本的な使い方については下記をご覧ください。
- GASによるスプレッドシート操作の概要
- このセル範囲のセルのフォントを取得・設定する
- このセル範囲のセルのフォントサイズを取得・設定する
- このセル範囲のセルのフォントの太さを取得・設定する
- このセル範囲のセルのフォントの色を取得・設定する
- このセル範囲の左上セルのフォントの色をColorクラスで取得する:getFontColorObject()
- このセル範囲のセルのフォントの色をColorクラスの配列で一括取得する:getFontColorObjects()
- このセル範囲のセルのフォントの色をColorクラスで一括設定する:setFontColorObject(color)
- このセル範囲のセルのフォントの色をColorクラスの配列で一括設定する:setFontColorObjects(colors)
- このセル範囲のセルのフォントの色をRGB形式等で一括設定する:setFontColor(color)
- このセル範囲のセルのフォントの色をRGB形式等の配列で一括設定する:setFontColors(colors)
- このセル範囲のセルのフォントの斜体設定を取得・設定する
- このセル範囲のセルのフォントの線のスタイルを取得・設定する
- このセル範囲のセルのテキストスタイルを取得・設定する
- まとめ
GASによるスプレッドシート操作の概要
GASでスプレッドシートを操作するための「SpreadSheetサービス」は、主に下記のクラスで構成されています。
クラス | 説明 |
---|---|
SpreadSheetApp | SpreadSheetサービスの親クラス |
Spreadsheet | スプレッドシートを操作するクラス |
Sheet | シートを操作するクラス |
Range | セル範囲を操作するクラス |
それぞれ下記のような位置付けになります。
「SpreadSheetApp」→「SpreadSheet」→「Sheet」→「Range」という順の階層構造になっています。操作対象に応じて、下の階層にたどってオブジェクトを取得して利用します。
このページでは、上記の中のRangeクラスの下記のメソッドについて説明します。
メソッド | 戻り値 | 説明 |
---|---|---|
getFontFamily() | String | このセル範囲の左上セルのフォントを取得する |
getFontFamilies() | String[][] | このセル範囲のセルのフォントを配列で一括取得する |
setFontFamily(fontFamily) | Range | このセル範囲のセルのフォントを一括設定する |
setFontFamilies(fontFamilies) | Range | このセル範囲のセルのフォントを配列で一括設定する |
getFontSize() | Integer | このセル範囲の左上セルのフォントサイズを取得する |
getFontSizes() | Integer[][] | このセル範囲のセルのフォントサイズを配列で一括取得する |
setFontSize(size) | Range | このセル範囲のセルのフォントサイズを一括設定する |
setFontSizes(sizes) | Range | このセル範囲のセルのフォントサイズを配列で一括設定する |
getFontWeight() | String | このセル範囲の左上セルのフォントの太さを取得する |
getFontWeights() | String[][] | このセル範囲のセルのフォントの太さを配列で一括取得する |
setFontWeight(fontWeight) | Range | このセル範囲のセルのフォントの太さを一括設定する |
setFontWeights(fontWeights) | Range | このセル範囲のセルのフォントの太さを配列で一括設定する |
getFontColorObject() | Color | このセル範囲の左上セルのフォントの色をColorクラスで取得する |
getFontColorObjects() | Color[][] | このセル範囲のセルのフォントの色をColorクラスの配列で一括取得する |
setFontColorObject(color) | Range | このセル範囲のセルのフォントの色をColorクラスで一括設定する |
setFontColorObjects(colors) | Range | このセル範囲のセルのフォントの色をColorクラスの配列で一括設定する |
setFontColor(color) | Range | このセル範囲のセルのフォントの色をRGB形式等で一括設定する |
setFontColors(colors) | Range | このセル範囲のセルのフォントの色をRGB形式等の配列で一括設定する |
getFontStyle() | String | |
getFontStyles() | String[][] | このセル範囲のセルのフォントの斜体設定を配列で一括取得する |
setFontStyle(fontStyle) | Range | このセル範囲のセルのフォントの斜体設定を一括設定する |
setFontStyles(fontStyles) | Range | このセル範囲のセルのフォントの斜体設定を配列で一括設定する |
getFontLine() | String | このセル範囲の左上セルのフォントの線のスタイルを取得する |
getFontLines() | String[][] | このセル範囲のセルのフォントの線のスタイルを配列で一括取得する |
setFontLine(fontLine) | Range | このセル範囲のセルのフォントの線のスタイルを一括設定する |
setFontLines(fontLines) | Range | このセル範囲のセルのフォントの線のスタイルを配列で一括設定する |
getTextStyle() | TextStyle | このセル範囲の左上セルのテキストスタイルを取得する |
getTextStyles() | TextStyle[][] | このセル範囲のセルのテキストスタイルを配列で一括取得する |
setTextStyle(style) | Range | このセル範囲のセルのテキストスタイルを一括設定する |
setTextStyles(styles) | Range | このセル範囲のセルのテキストスタイルを配列で一括設定する |
このセル範囲のセルのフォントを取得・設定する
このセル範囲をセルのフォントを取得・設定するメソッドを説明します。
このセル範囲の左上セルのフォントを取得する:getFontFamily()
このセル範囲の左上のセルのフォントを取得する方法です。
下記のように実行します。
1 2 3 4 5 6 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); console.log(testRange.getFontFamily()); } |
下記のような実行結果になります。左上セルのフォント名を取得できます。
1 |
Arial |
このセル範囲のセルのフォントを配列で一括取得する:getFontFamilies()
このセル範囲のセルのフォントを配列で一括取得する方法です。
下記のように実行します。
1 2 3 4 5 6 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); console.log(testRange.getFontFamilies()); } |
下記のような実行結果になります。すべてのセルのフォントを配列で取得できます。
1 |
[ [ 'Arial', 'Arial' ], [ 'HiraMinPro-W3', 'HiraKakuPro-W3' ] ] |
このセル範囲のセルのフォントを一括設定する:setFontFamily(fontFamily)
このセル範囲のセルのフォントを指定した値で一括設定する方法です。
下記のように実行します。
1 2 3 4 5 6 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); testRange.setFontFamily("HiraKakuPro-W3"); } |
下記のファイルで実行してみます。
下記のような実行結果になります。セルのフォントを指定した値で一括設定できます。
このセル範囲のセルのフォントを配列で一括設定する:setFontFamilies(fontFamilies)
このセル範囲のセルのフォントを配列で一括設定する方法です。セル毎に異なる設定を指定したい場合は、このメソッドを利用します。
下記のように実行します。
1 2 3 4 5 6 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); testRange.setFontFamilies([["Arial", "HiraKakuPro-W3"], ["impact", "HiraMinPro-W3"]]); } |
下記のファイルで実行してみます。
下記のような実行結果になります。セル毎に異なるフォントを一括設定できます。
このセル範囲のセルのフォントサイズを取得・設定する
このセル範囲のセルのフォントサイズを取得・設定するメソッドを説明します。
このセル範囲の左上セルのフォントサイズを取得する:getFontSize()
このセル範囲の左上のセルのフォントサイズを取得する方法です。
下記のように実行します。
1 2 3 4 5 6 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); console.log(testRange.getFontSize()); } |
下記のような実行結果になります。左上セルのフォントサイズを取得できます。
1 |
10 |
このセル範囲のセルのフォントサイズを配列で一括取得する:getFontSizes()
このセル範囲のセルのフォントサイズを配列で一括取得する方法です。
下記のように実行します。
1 2 3 4 5 6 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); console.log(testRange.getFontSizes()); } |
下記のような実行結果になります。すべてのセルのフォントサイズを配列で取得できます。
1 |
[ [ 10, 10 ], [ 10, 10 ] ] |
このセル範囲のセルのフォントサイズを一括設定する:setFontSize(size)
このセル範囲のセルのフォントサイズを指定した値で一括設定する方法です。
下記のように実行します。
1 2 3 4 5 6 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); testRange.setFontSize(15); } |
下記のファイルで実行してみます。
下記のような実行結果になります。セルのフォントサイズを指定した値で一括設定できます。
このセル範囲のセルのフォントサイズを配列で一括設定する:setFontSizes(sizes)
このセル範囲のセルのフォントサイズを配列で一括設定する方法です。セル毎に異なる設定を指定したい場合は、このメソッドを利用します。
下記のように実行します。
1 2 3 4 5 6 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); testRange.setFontSizes([[15, 20], [5, 15]]); } |
下記のファイルで実行してみます。
下記のような実行結果になります。セル毎に異なるフォントサイズを一括設定できます。
このセル範囲のセルのフォントの太さを取得・設定する
このセル範囲をセルのフォントの太さを取得・設定するメソッドを説明します。
このセル範囲の左上セルのフォントの太さを取得する:getFontWeight()
このセル範囲の左上のセルのフォントの太さを取得する方法です。
標準の場合はnormal、太字の場合はboldになります。
下記のように実行します。
1 2 3 4 5 6 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); console.log(testRange.getFontWeight()); } |
下記のような実行結果になります。左上セルのフォントの太さを取得できます。
1 |
bold |
このセル範囲のセルのフォントの太さを配列で一括取得する:getFontWeights()
このセル範囲のセルのフォントの太さを配列で一括取得する方法です。
標準の場合はnormal、太字の場合はboldになります。
下記のように実行します。
1 2 3 4 5 6 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); console.log(testRange.getFontWeights()); } |
下記のような実行結果になります。すべてのセルのフォントの太さを配列で取得できます。
1 |
[ [ 'bold', 'normal' ], [ 'normal', 'bold' ] ] |
このセル範囲のセルのフォントの太さを一括設定する:setFontWeight(fontWeight)
このセル範囲のセルのフォントの太さを指定した値で一括設定する方法です。
標準の場合はnormal、太字の場合はboldを指定します。
下記のように実行します。
1 2 3 4 5 6 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); testRange.setFontWeight("bold"); } |
下記のファイルで実行してみます。
下記のような実行結果になります。セルのフォントの太さを指定した値で一括設定できます。
このセル範囲のセルのフォントの太さを配列で一括設定する:setFontWeights(fontWeights)
このセル範囲のセルのフォントの太さを配列で一括設定する方法です。セル毎に異なる設定を指定したい場合は、このメソッドを利用します。
標準の場合はnormal、太字の場合はboldを指定します。
下記のように実行します。
1 2 3 4 5 6 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); testRange.setFontWeights([["bold", "bold"], ["normal", "normal"]]); } |
下記のファイルで実行してみます。
下記のような実行結果になります。セル毎に異なるフォントの太さを一括設定できます。
このセル範囲のセルのフォントの色を取得・設定する
このセル範囲をセルのフォントの色を取得・設定するメソッドを説明します。
このセル範囲の左上セルのフォントの色をColorクラスで取得する:getFontColorObject()
このセル範囲の左上のセルのフォントの色をColorクラスで取得する方法です。
下記のように実行します。
1 2 3 4 5 6 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); console.log(testRange.getFontColorObject().asRgbColor().asHexString()); } |
フォントの色が青の場合、下記のような実行結果になります。左上セルのフォントの色を取得できます。
1 |
#0000ff |
なお、確認した限りではフォントの色を何も設定していない場合、下記の結果になります。下記はフォントが赤のセルではありません。必要に応じてエラー処理しましょう。
1 |
#ff000000 |
このセル範囲のセルのフォントの色をColorクラスの配列で一括取得する:getFontColorObjects()
このセル範囲のセルのフォントの色をColorクラスの配列で一括取得する方法です。
下記のように実行します。
1 2 3 4 5 6 7 8 9 10 11 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); const testFontColorObjects = testRange.getFontColorObjects(); for (const rows of testFontColorObjects) { for (const cell of rows) { console.log(cell.asRgbColor().asHexString()); } } } |
下記のような実行結果になります。すべてのセルのフォントの色を配列で取得できます。
1 2 3 4 |
#ff0000 #0000ff #00ff00 #ff00ff |
なお、確認した限りではフォントの色を何も設定していない場合、下記の結果になります。下記はフォントが赤のセルではありません。必要に応じてエラー処理しましょう。
1 |
#ff000000 |
このセル範囲のセルのフォントの色をColorクラスで一括設定する:setFontColorObject(color)
このセル範囲のセルのフォントの色をColorクラスで指定した値で一括設定する方法です。
下記のように実行します。
1 2 3 4 5 6 7 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); var color = SpreadsheetApp.newColor().setRgbColor("#ff0000").build(); testRange.setFontColorObject(color); } |
下記のファイルで実行してみます。
下記のような実行結果になります。セルのフォントの太さを指定した値で一括設定できます。
このセル範囲のセルのフォントの色をColorクラスの配列で一括設定する:setFontColorObjects(colors)
このセル範囲のセルのフォントの色をColorクラスの配列で一括設定する方法です。セル毎に異なる設定を指定したい場合は、このメソッドを利用します。
下記のように実行します。
1 2 3 4 5 6 7 8 9 10 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); var red = SpreadsheetApp.newColor().setRgbColor("#ff0000").build(); var blue = SpreadsheetApp.newColor().setRgbColor("#0000ff").build(); var green = SpreadsheetApp.newColor().setRgbColor("#00ff00").build(); var pink = SpreadsheetApp.newColor().setRgbColor("#ff00ff").build(); testRange.setFontColorObjects([[red, blue], [green, pink]]); } |
下記のファイルで実行してみます。
下記のような実行結果になります。セル毎に異なるフォントの色を一括設定できます。
このセル範囲のセルのフォントの色をRGB形式等で一括設定する:setFontColor(color)
このセル範囲のセルのフォントの色をRGB形式等で指定した値で一括設定する方法です。
「#ffffff」や「white」などで、色を指定できます。色をリセットしたい(デフォルトにしたい)場合は、nullを指定します。
下記のように実行します。
1 2 3 4 5 6 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); testRange.setFontColor("#0000ff"); } |
下記のファイルで実行してみます。
下記のような実行結果になります。セルのフォントの色を指定した値で一括設定できます。
このセル範囲のセルのフォントの色をRGB形式等の配列で一括設定する:setFontColors(colors)
このセル範囲のセルのフォントの色をRGB形式等の配列で一括設定する方法です。セル毎に異なる設定を指定したい場合は、このメソッドを利用します。
下記のように実行します。
1 2 3 4 5 6 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); testRange.setFontColors([["#ff0000", "green"], ["#0000ff", "#ffff00"]]); } |
下記のファイルで実行してみます。
下記のような実行結果になります。セル毎に異なるフォントの色を一括設定できます。
このセル範囲のセルのフォントの斜体設定を取得・設定する
このセル範囲をセルのフォントの斜体設定を取得・設定するメソッドを説明します。
このセル範囲の左上セルのフォントの斜体設定を取得する:getFontStyle()
このセル範囲の左上のセルのフォントの斜体設定を取得する方法です。
標準の場合はnormal、斜体の場合はitalicになります。
下記のように実行します。
1 2 3 4 5 6 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); console.log(testRange.getFontStyle()); } |
フォントが斜体の場合、下記のような実行結果になります。左上セルのフォントの斜体設定を取得できます。
1 |
italic |
このセル範囲のセルのフォントの斜体設定を配列で一括取得する:getFontStyles()
このセル範囲のセルのフォントの斜体設定を配列で一括取得する方法です。
下記のように実行します。
1 2 3 4 5 6 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); console.log(testRange.getFontStyles()); } |
下記のような実行結果になります。すべてのセルのフォントの斜体設定を配列で取得できます。
1 |
[ [ 'italic', 'normal' ], [ 'normal', 'normal' ] ] |
このセル範囲のセルのフォントの斜体設定を一括設定する:setFontStyle(fontStyle)
このセル範囲のセルのフォントの斜体設定を指定した値で一括設定する方法です。
下記のように実行します。
1 2 3 4 5 6 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); testRange.setFontStyle("italic"); } |
下記のファイルで実行してみます。
下記のような実行結果になります。セルのフォントの斜体設定を指定した値で一括設定できます。
このセル範囲のセルのフォントの斜体設定を配列で一括設定する:setFontStyles(fontStyles)
このセル範囲のセルの斜体設定を配列で一括設定する方法です。セル毎に異なる設定を指定したい場合は、このメソッドを利用します。
下記のように実行します。
1 2 3 4 5 6 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); testRange.setFontStyles([["italic", "italic"], ["normal", "normal"]]); } |
下記のファイルで実行してみます。
下記のような実行結果になります。セル毎に異なるフォントの斜体設定を一括設定できます。
このセル範囲のセルのフォントの線のスタイルを取得・設定する
このセル範囲をセルのフォントの線のスタイルを取得・設定するメソッドを説明します。
このセル範囲の左上セルのフォントの線のスタイルを取得する:getFontLine()
このセル範囲の左上のセルのフォントの線のスタイルを取得する方法です。
標準の場合はnone、下線の場合はunderline、取消線の場合はline-throughになります。
下記のように実行します。
1 2 3 4 5 6 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); console.log(testRange.getFontLine()); } |
フォントに下線がある場合、下記のような実行結果になります。左上セルのフォントの線のスタイルを取得できます。
1 |
underline |
このセル範囲のセルのフォントの線のスタイルを配列で一括取得する:getFontLines()
このセル範囲のセルのフォントの線のスタイルを配列で一括取得する方法です。
標準の場合はnone、下線の場合はunderline、取消線の場合はline-throughになります。
下記のように実行します。
1 2 3 4 5 6 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); console.log(testRange.getFontLines()); } |
下記のような実行結果になります。すべてのセルのフォントの線のスタイルを配列で取得できます。
1 |
[ [ 'underline', 'line-through' ], [ 'none', 'none' ] ] |
このセル範囲のセルのフォントの線のスタイルを一括設定する:setFontLine(fontLine)
このセル範囲のセルのフォントの線のスタイルを指定した値で一括設定する方法です。
標準の場合はnone、下線の場合はunderline、取消線の場合はline-throughで指定します。
下記のように実行します。
1 2 3 4 5 6 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); testRange.setFontLine("line-through"); } |
下記のファイルで実行してみます。
下記のような実行結果になります。セルのフォントの線のスタイルを指定した値で一括設定できます。
このセル範囲のセルのフォントの線のスタイルを配列で一括設定する:setFontLines(fontLines)
このセル範囲のセルのフォントの線のスタイルを配列で一括設定する方法です。セル毎に異なる設定を指定したい場合は、このメソッドを利用します。
標準の場合はnone、下線の場合はunderline、取消線の場合はline-throughで指定します。
下記のように実行します。
1 2 3 4 5 6 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); testRange.setFontLines([["underline", "line-through"], ["none", "none"]]); } |
下記のファイルで実行してみます。
下記のような実行結果になります。セル毎に異なるフォントの線のスタイルを一括設定できます。
このセル範囲のセルのテキストスタイルを取得・設定する
このセル範囲をセルのテキストスタイルを取得・設定するメソッドを説明します。
このセル範囲の左上セルのテキストスタイルを取得する:getTextStyle()
このセル範囲の左上のセルのテキストスタイルを取得する方法です。
TextStyleクラスで取得します。
下記のように実行します。
1 2 3 4 5 6 7 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); const testTextStyle = testRange.getTextStyle(); console.log("フォント:"+testTextStyle.getFontFamily()+"\nフォントサイズ:"+testTextStyle.getFontSize()+"\nフォントの色:"+testTextStyle.getForegroundColorObject().asRgbColor().asHexString()); } |
下記のような実行結果になります。左上セルのテキストスタイルを取得できます。
1 2 3 |
フォント:Arial フォントサイズ:10 フォントの色:#ff0000 |
このセル範囲のセルのテキストスタイルを配列で一括取得する:getTextStyles()
このセル範囲のセルのテキストスタイルを配列で一括取得する方法です。
TextStyleクラスで取得します。
下記のように実行します。
1 2 3 4 5 6 7 8 9 10 11 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); const testTextStyle = testRange.getTextStyles(); for (const rows of testTextStyle) { for (const cell of rows) { console.log("フォント:" + cell.getFontFamily() + "、フォントサイズ:" + cell.getFontSize() + "、フォントの色:" + cell.getForegroundColorObject().asRgbColor().asHexString()+"\n"); } } } |
下記のような実行結果になります。すべてのセルのテキストスタイルを配列で取得できます。
1 2 3 4 |
フォント:Arial、フォントサイズ:10、フォントの色:#ff0000 フォント:HiraMaruPro-W4、フォントサイズ:10、フォントの色:#ff9900 フォント:Comic Sans MS、フォントサイズ:10、フォントの色:#000000 フォント:Arial、フォントサイズ:10、フォントの色:#0000ff |
このセル範囲のセルのテキストスタイルを一括設定する:setTextStyle(style)
このセル範囲のセルのテキストスタイルを指定した値で一括設定する方法です。
TextStyleクラスで指定します。
下記のように実行します。
1 2 3 4 5 6 7 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); const cell = SpreadsheetApp.newTextStyle().setFontSize(20).setBold(true).build(); testRange.setTextStyle(cell); } |
下記のファイルで実行してみます。
下記のような実行結果になります。セルのテキストスタイルを指定した値で一括設定できます。
このセル範囲のセルのテキストスタイルを配列で一括設定する:setTextStyles(styles)
このセル範囲のセルのテキストスタイルを配列で一括設定する方法です。セル毎に異なる設定を指定したい場合は、このメソッドを利用します。
TextStyleクラスで指定します。
下記のように実行します。
1 2 3 4 5 6 7 8 9 10 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("B2:C3"); const cell1 = SpreadsheetApp.newTextStyle().setFontSize(15).setUnderline(true).build(); const cell2 = SpreadsheetApp.newTextStyle().setFontFamily("impact").setBold(true).build(); const cell3 = SpreadsheetApp.newTextStyle().setStrikethrough(true).setBold(true).build(); const cell4 = SpreadsheetApp.newTextStyle().build(); testRange.setTextStyles([[cell1, cell2], [cell3, cell4]]); } |
下記のファイルで実行してみます。
下記のような実行結果になります。セル毎に異なるテキストスタイルを一括設定できます。
まとめ
Google Apps Script (GAS) でこのセル範囲のフォントや、色・線・斜体などのフォント関連の設定を取得・設定する方法を説明しました。
GASは無料で利用できてとても便利なツールです。
Googleスプレッドシート等のGoogleアプリケーションを利用されている方は、GASを習得することで作業を大きく効率化できます。
GASの基本構文を知りたい方は、下記もご覧ください。