Google Apps Script 入門 スプレッドシート セル操作 (1)

スポンサーリンク

スプレッドシート セル操作方法 (1)

スプレッドシートのクラス

スプレッドシートはおもに、4つのクラスで構成されています。

  1. SpreadsheetApp(スプレッドシートアプリケーション)
  2. Spreadsheet(スプレッドシート)
  3. Sheet (シート)
  4. Range (レンジ)

考え方として、例えば、スプレットシートのセルにあたる レンジを呼び出すには、スプレッドシートアプリケーションの中のスプレッドシートの中のシートの中のレンジというかたちで、スプレットシートアプリケーションを頂点として、階層的に呼び出します。

セルを取得するコートと解説

function myrange() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
   sheet.getRange("A1").activate();
}
2行目【var ss = SpreadsheetApp.getActiveSpreadsheet();】
スプレッドシートファイルを表すSpreadsheetApp【スプレットシートアップ】クラスのgetActiveSpreadsheet【ゲットアクティブスプレッドシート】メソッドでアクティブなスプレッドシートを取得し、変数「ss」に代入します。


3行目【var sheet = ss.getActiveSheet();】
アクティブなスプレッドシートが格納されている変数「ss」(スプレッドシートクラス)のアクティブなシートを取得するgetActiveSheet【ゲットアクティブシート】メソッドでアクティブシートを取得し、変数「sheet」に代入します。


4行目【sheet.getRange(“A1”).activate();】
アクティブなシートが格納されている変数「sheet」(シートクラス)のセル範囲を指定するgetRange【ゲットレンジ】メソッドの引数にA1セルを指定し、セルを表すrange【レンジ】クラスのactivate【アクティベイト】メソッドでA1セルをアクティブにします。

A1セル文字列を代入するコードと解説

function myvalue() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("A1");
    range.setValue("AAA");
}
2行目【var sheet = SpreadsheetApp.getActiveSheet();】
最初のセルを取得するコードでは、SpreadsheetApp.getActiveSpreadsheetで先にアクティブなスプレッドシートを取得して、スプレッドシートクラスのgetActiveSheet【ゲットアクティブシート】メソッドでアクティブなシートを取得しましたが、スプレッドシートファイルを表すSpreadsheetApp【スプレッドシートアップ】クラスには、直接アクティブシートを取得できるgetActiveSheet【ゲットアクティブシート】メソッドがあるので、このメソッドを使用してアクティブなシートを取得して、変数「sheet」に代入します。


3行目【var range = sheet.getRange(“A1”);】
変数「sheet」に格納されているアクティブなシート(シートクラス)のgetRange【ゲットレンジ】メソッドの引数にA1セルを指定してA1セルを取得し、変数「range」に代入します。


4行目【range.setValue(“AAA”);】
変数「range」に格納されているA1セル(レンジクラス)の値を設定するsetValue【セットバリュー】メソッドでA1セルに文字列の「AAA」を代入します。

実行結果


A1セルを赤に塗りつぶすコード

function mycolor() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("A1");
    range.setValue("AAA");
    range.setBackgroundRGB(255,0,0); 
}

実行結果


B3セルに罫線をひくコード

function myBordercolor() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("B3");
    range.setValue("AAA"); 
    range.setBorder(true,true,true,true,false,false);
}

実行結果


B3セルに入力されている文字列の色を赤するコード

function myFontcolor() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("B3");
    range.setValue("AAA");
    range.setFontColor("red"); 
    range.setBorder(true,true,true,true,false,false);
}

実行結果

ここまでのまとめ

セルの取得するコード

SheetクラスのgetRange(ゲットレンジ)メソッドを使用します。
セル番地の指定方法は、A1セルの場合
getRange(“A1”)もしくは、getRange(1,1)(行,列)で指定します。
セル範囲A1セル~C3セルを取得する場合は
getRange(“A1:C3”)もしくは、getRange(1,1,3,3)(行,列,行,列)で指定します。

セルに値を代入するコード

range【レンジ】クラスのsetValue(セットバリュー)メソッドを使用します。
文字列を代入するときは、シングルまたは、ダブルクオティーションで囲みます。
数式や関数を代入するときは
range【レンジ】クラスのsetFormula【セットフォーミュラ】メソッドを使用します.
例 setFormula(“=SUM(A1:A10)”) SUM(サム)関数でA1からA10セル値の合計を返します。

セルをに色をつけるコード

range【レンジ】クラスのsetBackgroundRGB【セットバックグラウンドアールビージー】メソッドを使用します。RGB(赤,緑,青) 3色の色の濃さを0~255の数値で指定します。
(255,0,0)赤 (0,255,0)緑 (0,0,255)青 (0,0,0)黒 (255,255,255)白

セルに罫線を引くコード

range【レンジ】クラスのsetBorder【セットボダー】メソッドを使用します。
setBorder【セットボダー】メソッドの引数
(上罫線,左罫線,下罫線,右罫線,内側垂直罫線,内側水平罫線,色,線の形状)
色と線の形状は省略可 省略した場合は黒の実線になります。色か線の形状を指定するときは、両方セットで指定します。


【罫線の値】
True(線を引く) False(線を引かないまたは消す) null(変更しない)


【色の値】
カラーネーム(“red”)または、16進数(“#ff0000”)


【線の形状】
SpreadsheetApp.BorderStyle.DOTTED(ドデェト)・・・・点線
SpreadsheetApp.BorderStyle.DASHED(ダッシュド) ・・・破線
SpreadsheetApp.BorderStyle.SOLID(ソリッド)・・・・・実線


セルの値に色変更

range【レンジ】クラスのsetFontColor【セットフォントカラー】メソッドを使用します。
値は、カラーネーム(“red”)または、16進数(“#ff0000”)


以上で、スプレッドシートのセル操作についての解説を終了します。
ありがとうございました。

スポンサーリンク

関連記事・広告