高校でのプログラミング実習環境の選択肢の一つとして、GAS(Google Apps Script)の概要と導入について説明します。
GASの概要
GASとは
GAS(Google Apps Script)は、Googleが提供するJavaScriptベースのスクリプト言語です。
Gmail・Google Sheets・Google Formsなど様々なGoogleのアプリケーションを操作できます。
GASでできること
GASでは、Googleが提供するあらゆるアプリケーションを操作・連携できます。たとえば、
- フォームの入力を受けてGmailを自動送信する
- スプレッドシートにまとめた行事予定やメンバーのスケジュールをGoogleカレンダーに一括で追加する
- スプレッドシートに問題や選択肢、解答を入力しておき、課題や小テストのフォームを自動生成する
- Google Slideのテンプレートを用意し、スプレッドシートやフォームに入力された内容を流し込んでスライドを自動生成する
- スプレッドシートを簡易的なデータベースに見立て、簡単なWebアプリケーションを作成する
などなど。
すべてクラウドで動作するので、作成したプログラムに自宅からアクセスしたり、スマホやタブレットによる入出力を絡めたアプリ作成も容易になります。
GAS導入のメリット
- すべてクラウドで保存・実行されるので、環境構築が不要。
- PC教室以外でも(タブレットでも)実習ができる。
- JavaScriptベースの言語なので学習コストが少ない。
- スプレッドシートを使えばVBAで蓄積した知見も活かせる。
- Google Classroomを利用することで効率的な課題の配信、評価が可能。
校内のネットワークがしっかりしているならば導入するメリットは大きいのでは。
GASの導入
GASスクリプトの作り方・動かし方の基本について。とりあえず「Hello World」します。
スクリプトの種類
GASスクリプトには、スタンドアロンスクリプトとコンテナバインドスクリプトの2種類があります。
- スタンドアロンスクリプト
- 単独のスクリプトファイルとしてドライブ上に作成される。
- コンテナバインドスクリプト
- スプレッドシートやフォームなど、何らかのアプリケーションファイルに紐づいて作成される。
どちらのスクリプトでもGoogleの各アプリケーションを操作できます。
スタンドアロンスクリプトの作成
マイドライブを開き、「Google Apps Script」ファイルを作成します。
別タブで「無題のプロジェクト」が立ち上がります。
プロジェクトに任意の名前を付けて、コードを打ち込みます。
コード.gs
function myFunction () {
console.log('Hello World');
}
ファイル名はデフォルトで「コード.gs」となっています。変更は任意です。
自動で保存されないので、保存ボタンを押すか、「Ctrl + S」で保存しましょう。
実行ボタンを押すと、コンソールに結果が出力されます。
例ではconsole.log()
を使いましたが、Logger.log()
でもコンソールに出力できます。
コンテナバインドスクリプトの作成
Google スプレッドシートに紐づいたコンテナバインドスクリプトを作成し、A1セルに「Hello World」と出力するスクリプトを作成します。
マイドライブを開き、「Google スプレッドシート」ファイルを作成します。ファイル名は任意です。
「ツール」タブから「スクリプトエディタ」を選択します。
別タブでプロジェクトが立ち上がります。
プロジェクト名は、スプレッドシートファイルの名前とは別に名付けます。こちらも任意です。
コードを入力し、保存して実行します。コードの詳細は割愛します。
コード.gs
function myFunction() {
const sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange('A1').setValue('Hello World');
}
GASからアプリケーションを操作する場合、初回実行時は権限の承認が求められます。
アカウントを選択し、「許可」ボタンを押します。
無料のGoogleアカウントの場合は「権限の承認」と「アカウントの選択」の間に、下のような画面が挟まれます。「詳細」をクリックし、「プロジェクト名(安全ではないページ)に移動」をクリックします。
コンソールが起動し、成功すれば「実行完了」と表示されます。
スプレッドシートを確認すると意図通りの結果となっています。
終わりに
Google Apps Script の概要と導入方法について紹介しました。
次回はGoogleClassroomによるGASの実習ファイルの配布と回収について紹介します。