GAS備忘録セルの属性の読み書き

作成日:2020.03.10
  1. HOME
  2. 趣味のページ
  3. セルの属性の読み書き
タイトル:セルの属性の読み書き

このページでは単体セルの様々な属性を取得・指定する方法についてまとめてみたいと思います。

  1. セルの値
  2. セルの行・列
  3. フォントの取得
  4. 文字の配置
  5. テキストの方向
  6. テキストの折り返し
  7. セルの背景色

セルの値

セルのを取得したり書き換えたりする方法は以下の通りです。

range.getValue()
セルの値を取得します
range.setValue("値")
セルの値を書き換えます

(サンプル)

function onEdit(){
  var range = e.range;  //編集されたセルの取得
  var val = range.getValue();  //編集セルの値を取得
  range.offset(1,0).setValue( val );  //1つ下のセルに値を書き込む
}

セルの行・列

セルの行・列をを取得する方法です。

range.getRow()
セルの行を取得します
range.getColumn()
セルの列を取得します

(サンプル)

function onEdit(){
  var range = e.range;
  var row = range.getRow();  //行の取得
  var col = range.getColumn();  //列の取得
  range.setValue( "行:" + row + ",列:" + col );
}

フォント

フォント関連の様々な属性を取得・指定する方法は以下の通りです。

フォントを取得する

range.getFontColor()
文字色を取得します
range.getFontFamily()
フォント(文字の形)を取得します
range.getFontSize()
文字サイズを取得します
range.getFontWeight()
文字の太さを取得します
「bold」太字,「normal」標準
range.getFontStyle()
文字の傾きを取得します
「italic」斜体,「normal」標準
range.getFontLine()
文字装飾を取得します。
「line-through」打消し線,「underline」下線,「none」線無し

フォントを指定する

range.setFontColor(”文字色”)
文字色を指定します
range.setFontFamily("フォント名")
フォント(文字の形)を指定します
range.setFontSize("文字サイズ")
文字の大きさを指定します
range.setFontWeight("bold/normal")
文字の太さを指定します
range.setFontStyle("italic/normal")
文字の傾きを指定します
range.setFontLine("line-through/underline/none")
文字装飾を指定します

(サンプル)

range.setFontColor("red");  //文字色を赤に
range.setFontFamily("Roboto");  //フォントをRobotoに
range.setFontSize(16);  //文字サイズを16ptに
range.setFontWeight("bold");  //太字にする
range.setFontStyle("italic");  //斜体にする
range.setFontLine("underline");  //下線を引く

文字の配置

セル内の文字の配置を取得・指定する方法は以下の通りです。

文字の配置を取得する

range.getHorizontalAlignment()
水平方向の文字配置を取得します
「left」左寄せ,「center」中央揃え,「right」右寄せ
range.getVerticalAlignment()
垂直方向の文字配置を取得します
「top」上端揃え,「middle」中央揃え,「bottom」下端揃え

文字の配置を指定する

range.setHorizontalAlignment("left/center/right")
水平方向の文字配置を指定します
range.setVerticalAlignment("top/middle/bottom")
垂直方向の文字配置を指定します

(サンプル)

range.setHorizontalAlignment("center");  //水平方向に中央揃えする
range.setVerticalAlignment("middle");  //垂直方向も真ん中に配置する

縦書き設定

文字を並べる方向を指定する方法は以下の通りです。

range.setVerticalText(true/false)
縦書きの指定をします

(サンプル)

range.setVerticalText( true );  //セル内の文字を縦書きにします

縦書きで文字の折り返し指定をしている場合、左から右に並ぶことになります(下図)

縦書きで折り返しの場合

テキストの折り返し

テキストの折り返し状態を取得したり指定したりする方法は以下の通りです。

range.getWrap()
テキストの折り返し状態を取得します
「true」なら折り返し、「false」なら折り返し無しです
range.setWrap(true/false)
テキストの折り返し状態を指定します

(サンプル)

//折り返し状態を逆さまにします
if ( range.getWrap() ){
  range.setWrap(false);  //折り返しを無効に
}else{
  range.setWrap(true);  //折り返すよう指定
}

セルの背景色

セルの背景色を取得・指定する方法は以下の通りです。

range.getBackground()
セルの背景色を取得します
range.setBackground("背景色")
セルの背景色を指定します

(サンプル)

if ( range.getValue() == "" ){
  range.setBackground("white");  //空白セルなら背景を白に
}else{
  range.setBackground("yellow");  //文字が書かれていたら背景を黄色に
}