LoginSignup
1
2

More than 3 years have passed since last update.

【GAS】Google Apps Script 始め方と簡単なスプレッドシート操作

Last updated at Posted at 2020-04-17

はじめに

GAS(Google Apps Script)というJavascriptライクなプログラミング言語があります。
Google drive上に保存されて、google calendarやgoogle spreadsheet等々と連携することができます。
実行環境を整える必要はないのでその点ではとても便利かと思います。
今回は、ファイルの作り方から簡単なスプレッドシートの操作まで解説しようと思います。

ファイルの作り方

1. スプレッドシートと紐づいたファイルを作るとき

新しいスプレッドシートを開いて、「ツール」メニューから「スクリプトエディタ」を選ぶ。
image.png

2.スプレッドシートと紐づかないファイルを作るとき

Googleドライブ上で右クリック⇒その他⇒Google Apps Scriptを選んでください。
image.png

1も2もこんな感じでエディタが出てきていれば完了です。(左上のファイル名はなんでも大丈夫です)
image.png

ファイルの編集

ここからは、スプレッドシートと紐づいた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);
}

実行、ログの確認

実行方法ですが、メニューの三角ボタンを押します。
image.png

その後、「Ctrl」+「Enter」または「表示」メニューのログからログを見ることができます。
image.png

image.png

スプレッドシートの編集

値の代入

スプレッドシートを操作するときは以下の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);
}

以下のようにコード補完と説明が出てきてくれるので実装中になんとなくわかるかと思います。
image.png

これを実行しようとすると以下のような承認画面が出てきますので許可をしてください。

image.png

一番最初に作ったスプレッドシートのA1からB2セルに1が入っていたら成功です!

値の取得

次にスプレッドシート上の値の取得をしてみましょう。
コードは以下になります。
RangeオブジェクトのgetValuesメソッドでセルの値(配列として)を取得しています。

function myFunction() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var range = sheet.getRange("A1:B2");

  Logger.log(range.getValues());
}

以下のように2次元配列になっていますね。

image.png

おわりに

今回は以上です!
GASはgoogle calendarの予定をとってきたりもできるのでその方法も後日紹介したいと思います!

また、●曜日の〇時に実行のようにトリガーを設定できるのでSlackやGmailなどと連携させればリマインドとしても使えますね。
ぜひ活用してみてください!

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2