Google Apps Scriptでスプレッドシートの複数セルにある文字の書体を取得する

Google Apps Scriptでスプレッドシートの複数セルにある文字の書体を取得するには

  • getFontFamilies()

を使う。

・getFontFamilies()
範囲内のセルのフォントファミリを返します。

戻る
String[][] – 範囲内のセルに関連付けられたフォントファミリの2次元配列

参照:range#getfontfamilies

Google Apps Scriptでスプレッドシートの複数セルにある文字の書体を取得するスクリプト

A1~C3にテキストを入力して変数rngに格納。

配列範囲fntに書体を設定。書体の参照はGooglefont

rng.setFontFamilies(fnt);でrngのテキスト書体を変更。

var res = rng.getFontFamilies();でテキスト書体を取得して、for文で行列の値を連続で取得するスクリプト。

/*シートの複数セルの文字書体を取得する*/
function cellsfntf() {

//スプレッドシートAppを呼出し
 var ss = SpreadsheetApp.getActiveSpreadsheet();
//アクティブシートを取得する
 var sht = ss.getActiveSheet();

//A1~C3にテキスト入力してrngに格納
 var rng = sht.getRange("A1:C3").setValue("SpreadSheet.Blue");

//列数を取得
 var col =  sht.getRange("A:A").getColumn();
 var col2 = sht.getRange("B:B").getColumn();
 var col3 = sht.getRange("C:C").getColumn();

//列幅をリサイズ
sht.autoResizeColumn(col);
sht.autoResizeColumn(col2);
sht.autoResizeColumn(col3);

//書体を変数へ格納
var fnt1="Mina"
var fnt2="Lato"
var fnt3="Rammetto One"
var fnt4="Playfair Display"
var fnt5="Noto Sans"
var fnt6="Arimo"
var fnt7="Poppins"
var fnt8="Titillium Web"
var fnt9="Code Caption"

//書体を配列に格納する
var fnt =[
   [fnt1,fnt2,fnt3],
   [fnt4,fnt5,fnt6],
   [fnt7,fnt8,fnt9],
   ];
 
 rng.setFontFamilies(fnt);
 
 var res = rng.getFontFamilies();

 for (var i in res) {
   for (var j in res[i]) {
     Logger.log(res[i][j]);
   }
 }
}


/*シートをクリア*/
function clear(){
  
//スプレッドシートAppを取得
 var ss = SpreadsheetApp.getActiveSpreadsheet();
//アクティブシートを取得
 var sht = ss.getActiveSheet();
//シートをクリアする 
 sht.clear();

//列幅をデフォに戻す
sht.setColumnWidth(1,100);
sht.setColumnWidth(2,100);
sht.setColumnWidth(3,100);

}

 

Google Apps Scriptでスプレッドシートの複数セルにある文字の書体を取得するsample

 

まとめ

シート範囲.getFontFamilies();で複数セルの文字書体を取得出来る。

長方形に配列された値の複数セルの中で取得可能。

取得結果はLogger.logの方が視認性が良い。

>>スプレッドシートにある文字の書体を変える

>>スプレッドシートの複数セルの文字色を取得する

>>スプレッドシートの複数セルの背景色を変える

>>スプレッドシートの複数文字に下線・打ち消し線をつける