はじめに
GAS(Google Apps Script)というJavascriptライクなプログラミング言語があります。
Google drive上に保存されて、google calendarやgoogle spreadsheet等々と連携することができます。
実行環境を整える必要はないのでその点ではとても便利かと思います。
今回は、ファイルの作り方から簡単なスプレッドシートの操作まで解説しようと思います。
ファイルの作り方
1. スプレッドシートと紐づいたファイルを作るとき
新しいスプレッドシートを開いて、「ツール」メニューから「スクリプトエディタ」を選ぶ。
2.スプレッドシートと紐づかないファイルを作るとき
Googleドライブ上で右クリック⇒その他⇒Google Apps Scriptを選んでください。
1も2もこんな感じでエディタが出てきていれば完了です。(左上のファイル名はなんでも大丈夫です)
ファイルの編集
ここからは、スプレッドシートと紐づいたGASファイルの説明をします。
エディタがダークモードにもできるので好みに合わせて設定してください。
https://chrome.google.com/webstore/detail/appsscript-color/ciggahcpieccaejjdpkllokejakhkome/related
プログラムを編集しましょう!以下のようにJavascriptのようになります。
※Logger.logとconsole.logの違いについてはこちら
function myFunction() {
Logger.log("Hello world!");
var num1 = 1;
var num2 = 9;
Logger.log(num1+num2);
}
実行、ログの確認
その後、「Ctrl」+「Enter」または「表示」メニューのログからログを見ることができます。
スプレッドシートの編集
値の代入
スプレッドシートを操作するときは以下の3つのオブジェクトで操作します。
・スプレッドシート:Spreadsheetオブジェクト
・シート:Sheetオブジェクト
・セル範囲:Rangeオブジェクト
それぞれに色々なメソッドがあります。今回は下に示すようなプログラムで説明します。
SpreadsheetApp.getActiveSheet()
でシートを取得、sheet.getRange("A1:B2")
でA1セルからB2セルを取得しています。
また、RangeオブジェクトのsetValue
メソッドでセルに値を代入しています。
function myFunction() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("A1:B2");
range.setValue(1);
}
以下のようにコード補完と説明が出てきてくれるので実装中になんとなくわかるかと思います。
これを実行しようとすると以下のような承認画面が出てきますので許可をしてください。
一番最初に作ったスプレッドシートのA1からB2セルに1が入っていたら成功です!
値の取得
次にスプレッドシート上の値の取得をしてみましょう。
コードは以下になります。
RangeオブジェクトのgetValues
メソッドでセルの値(配列として)を取得しています。
function myFunction() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("A1:B2");
Logger.log(range.getValues());
}
以下のように2次元配列になっていますね。
おわりに
今回は以上です!
GASはgoogle calendarの予定をとってきたりもできるのでその方法も後日紹介したいと思います!
また、●曜日の〇時に実行のようにトリガーを設定できるのでSlackやGmailなどと連携させればリマインドとしても使えますね。
ぜひ活用してみてください!