スプレッドシート セル操作方法 (1)
スプレッドシートのクラス
スプレッドシートはおもに、4つのクラスで構成されています。
- SpreadsheetApp(スプレッドシートアプリケーション)
- Spreadsheet(スプレッドシート)
- Sheet (シート)
- Range (レンジ)
考え方として、例えば、スプレットシートのセルにあたる レンジを呼び出すには、スプレッドシートアプリケーションの中のスプレッドシートの中のシートの中のレンジというかたちで、スプレットシートアプリケーションを頂点として、階層的に呼び出します。
セルを取得するコートと解説
function myrange() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActiveSheet(); sheet.getRange("A1").activate(); }
スプレッドシートファイルを表す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"); }
最初のセルを取得するコードでは、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”)
以上で、スプレッドシートのセル操作についての解説を終了します。
ありがとうございました。