2. スクリプト 作 成 の 基 本 操 作 ここでは スクリプト 作 成 に 関 する 基 本 操 作 方 法 について 説 明 します 2.1. スクリプトエディタの 起 動 Google Apps Script のスクリプトは スクリプトエディタ と 呼 ばれる 専 用 のツールを 使 って 入 力 しま す まずはスクリプトエディタを 起 動 する 事 から 始 めましょう Gmail にログインします アプリ メニューから ドライブ を 選 択 します 2014 Takahiro Arie. 1
Google ドライブが 開 いたら 作 成 メニューから スプレッドシート を 選 択 します 新 規 のスプレッドシートが 開 いたら ツール メニューから スクリプト エディタ... を 選 択 します 2014 Takahiro Arie. 2
チュートリアル 画 面 が 表 示 された 場 合 は 閉 じる を 押 しましょう スクリプトエディタが 起 動 し 以 下 の 3 行 が 表 示 されます 01:function myfunction() { 02: 03:} これにて スクリプトエディタの 起 動 は 完 了 です 2014 Takahiro Arie. 3
2.2. スクリプトの 作 成 と 実 行 ここでは 前 節 で 説 明 したスクリプトエディタを 使 ってメッセージボックスを 表 示 するだけの 簡 単 なス クリプトを 作 成 し 実 際 に 実 行 してみましょう 今 までプログラミングに 全 く 携 わっていなかった 方 に は 意 味 不 明 な 個 所 はあるかとは 思 いますが とりあえず 細 かい 事 は 置 いておき スクリプトを 作 って 動 かしてみる 経 験 をする 事 を 目 的 としてやってみましょう まず 空 白 行 である 2 行 目 に Browser. ( 注 :B のみ 大 文 字 かつ r の 後 のピリオドまで 入 力 する 必 要 あり)と 入 力 すると スクリプトエディタの 入 力 支 援 機 能 が 表 示 されます これは Google Apps Script で 定 義 されているキーワードを 途 中 まで 入 力 すると 全 部 タイピングしなくて 済 むように その 後 に 続 くキーワードを 選 択 できるようにしてくれる 機 能 です Microsoft 製 品 で 言 うところの インテリセンス ですが Google 製 品 では 特 別 な 呼 び 方 はなく 入 力 支 援 機 能 と 呼 ばれています 大 変 重 宝 する 機 能 なのですが たまに 動 きが 遅 くなるのと 携 帯 の 漢 字 予 測 変 換 ように 頻 繁 に 使 う 順 に 並 び 換 ったりはし ませんので その 辺 は 寛 大 な 心 で 使 わなくてはなりません また 入 力 支 援 機 能 を 使 わず 全 てタイピングする 場 合 は 大 文 字 と 小 文 字 をしっかり 区 別 して 入 力 する 必 要 があります msgbox が 正 しい 入 力 ですが MsgBox や msgbox は 誤 りです 2014 Takahiro Arie. 4
選 択 肢 の 中 から msgbox(string prompt): String を 選 択 します prompt と 表 示 されている 部 分 をクリックします 2014 Takahiro Arie. 5
prompt の 文 字 を 消 して "Hello, World!" と 入 力 します ダブルクォーテーション の 間 に 挟 んだ 文 字 であれば 何 でもよいのですが 最 初 のサンプルプログラムは Hello, World! と 表 示 するのが 定 番 となっています なぜ 定 番 なのか 興 味 のある 方 は 章 末 のコラムをご 覧 下 さい また 文 の 最 後 にセ ミコロン ; を 付 けるのを 忘 れないようにしましょう Google Apps Script では 通 常 文 末 にセミ コロンを 入 れます 細 かい 事 を 言 うと 文 法 的 には 入 れなくても 大 丈 夫 なのですが 文 末 にセミコロン を 入 れておかないと スクリプトが 複 数 行 になった 時 に 入 力 支 援 機 能 が 正 しく 動 作 しません 今 回 の 例 では 結 局 以 下 のように 入 力 されていれば OK です function myfunction() { } Browser.msgBox("Hello, World!"); 2014 Takahiro Arie. 6
スクリプトを 入 力 できたら フロッピーディスクのマークの 保 存 ボタンを 押 してスクリプトを 保 存 します Rename Project(プロジェクト 名 を 変 更 ) ダイアログボックスが 表 示 されたら プロジェクト 名 を 入 力 します ご 自 分 の 好 きな 名 前 で 構 いません しかしながら 好 きな 名 前 と 言 われても とりあえず 本 に 書 いてある 通 りに 試 しているだけなので 好 きな 名 前 も 何 もない という 声 もよく 耳 にします そう いう 場 合 は とりあえず 次 の 方 法 を 参 考 にしてみて 下 さい それは とりあえず 2~3 文 字 の 略 称 と 数 桁 の 数 字 を 合 わせて 名 前 を 付 けておく 方 法 です 例 えば プロジェクト 名 であれば Project の 略 称 で PJ 第 2 章 の 最 初 のプロジェクトなので 数 字 は 201 という 事 で PJ201 という 名 前 を 入 力 して OK ボタンを 押 します ( 数 字 の 部 分 は 日 付 + 連 番 でもいいですね ) 2014 Takahiro Arie. 7
前 述 の 操 作 でつけたプロジェクト 名 は 右 上 に 表 示 されます 続 いて 三 角 マークの 実 行 ボタンを 押 してスクリプトを 実 行 します すると 承 認 が 必 要 です 画 面 が 表 示 されますので 続 行 ボタンを 押 します 2014 Takahiro Arie. 8
スクリプトの 実 行 を 許 可 するため 承 認 する ボタンを 押 します ここで 実 行 ボタンを 押 したのに 何 も 起 こらない と 思 った 方 が 多 いはずです 実 は スクリプトを 実 行 しても スクリプトエディタの 画 面 では 何 も 起 こりません なぜならスクリプトはスクリプトエデ ィタの 画 面 ではなく スプレッドシートの 画 面 で 実 行 されるからです よって 実 行 結 果 を 確 認 するた めに 表 示 画 面 をスプレッドシートに 切 り 替 えます すると メッセージボックスが 表 示 されているはず です ここで OK ボタンを 押 せばスクリプトは 終 了 します 2014 Takahiro Arie. 9
スクリプトエディタの 画 面 に 戻 り タブの ボタンを 押 して スクリプトエディタを 閉 じます 続 いて スプレッドシートを 保 存 するわけですが Google ドライブでは 無 題 スプレッドシート とい う 名 前 でスプレッドシートが 自 動 的 に 保 存 されています これは 何 らかの 理 由 で 急 にネット 接 続 が 切 れた 場 合 でも 編 集 した 内 容 が 全 部 無 くならないようにするための 仕 組 みです 自 動 保 存 された 無 題 スプレッドシート という 名 前 を 変 更 したい 場 合 は スプレッドシート 名 が 表 示 されている 部 分 をクリ ックします 2014 Takahiro Arie. 10
スプレッドシートの 名 前 を 変 更 ダイアログボックスが 表 示 されますので スプレッドシート 名 を 入 力 して OK ボタンを 押 して 下 さい これも 好 きな 名 前 で 構 いません 例 えば スプレッドシートであ れば SpreadSheet の 略 で SS 第 2 章 の 最 初 のスプレッドシートなので 数 字 は 201 という 事 で SS201 という 名 前 を 入 力 して OK ボタンを 押 します 最 後 に タブの ボタンを 押 して スプレッドシートを 閉 じます 2014 Takahiro Arie. 11
保 存 されたスプレッドシートが Google ドライブの 一 覧 に 表 示 されます これにて スクリプトの 作 成 と 実 行 は 完 了 です Google ドライブの 紹 介 が 表 示 されている 場 合 は ボタンを 押 して 閉 じておきましょう 2014 Takahiro Arie. 12
スクリプトの 解 説 Google Apps Script で 記 述 したスクリプトは 関 数 と 呼 ばれる 単 位 で 実 行 します よって 通 常 は スクリプトで 実 行 させたい 処 理 が 関 数 という 単 位 でまとまっています 関 数 は 以 下 のような 書 き 方 で 定 義 します function 関 数 名 () { } 処 理 関 数 には 基 本 的 に 好 きな 名 前 をつける 事 ができますが 実 は 用 途 によって 既 に 決 められている 名 前 も あるので それと 重 複 しないようにするには 関 数 名 の 頭 に my を 付 けておくのが 無 難 です スクリ プトエディタを 起 動 した 時 の 関 数 名 も 頭 に my が 付 いていますね function myfunction() { } Browser.msgBox("Hello, World!"); 今 回 のスクリプトでは メッセージボックスを 表 示 する 処 理 を 行 う Browser.msgBox() を 使 っていま す これは 括 弧 (かっこ)の 中 に 記 述 された 文 字 列 をメッセージボックスとして 表 示 するだけの 簡 単 な 処 理 ですが 時 間 がかかるスクリプトの 最 後 の 行 に 記 述 しておけば スクリプトが 最 後 まで 行 われたのが 明 確 に 分 かるので 大 変 重 宝 します 参 考 にしたサイト Google Apps Script > Tutorial: Creating Your First Spreadsheet Script http://code.google.com/intl/ja/googleapps/appsscript/articles/yourfirstscript.html 2014 Takahiro Arie. 13
2.3. スプレッドシートのコピーと 削 除 同 じようなスクリプトを 何 個 も 作 成 する 場 合 や 作 ったスクリプトのバックアップを 残 しておきたい 場 合 は スプレッドシートごとコピーしておくのが 便 利 です ここでは その 手 順 について 説 明 します まず Google ドライブの 一 覧 画 面 で コピー 対 象 のスプレッドシートをチェックします その 他 メニューから コピーを 作 成 を 選 択 します 2014 Takahiro Arie. 14
Google ドライブの 一 覧 に コピーして 作 成 したスプレッドシートが 表 示 されます 表 示 されない 場 合 は F5 キーを 押 してページを 再 読 み 込 みしてみましょう コピーの 方 法 が 分 かったら 削 除 の 仕 方 も 覚 えておきましょう 削 除 方 法 はとても 簡 単 で まず 削 除 したいスプレッドシートをチェックします 2014 Takahiro Arie. 15
ドライブの 一 覧 の 上 に 表 示 された 削 除 ボタンをクリックします 削 除 したスプレッドシートが 一 覧 に 表 示 されなくなります これにて スプレッドシートのコピーと 削 除 は 完 了 です 2014 Takahiro Arie. 16
コラム Google ドライブのタイムゾーン 設 定 Google ドライブを 初 めて 使 った 方 は 言 語 とタイムゾーンの 設 定 をしておきましょう 右 上 の 歯 車 のマークを 押 した 時 に 表 示 されるメニューから 設 定 を 選 択 します 言 語 : に 日 本 語 を 選 択 します 2014 Takahiro Arie. 17
タイムゾーン: に (GMT+09:00) 東 京 を 選 択 します 最 後 に 保 存 ボタンを 押 します 2014 Takahiro Arie. 18
コラム 最 初 のプログラムは 何 故 Hello, World! なのか? プログラミングの 勉 強 をした 経 験 がある 方 であれば 既 にご 存 知 かもしれませんが Hello, World! とい う 文 字 列 を 表 示 するプログラムは 入 門 書 の 最 初 のサンプルプログラムとなっている 事 がよくあります 別 に Hello, World! 以 外 の 文 字 列 でも 構 わないはずなのですが なぜかこの 文 字 列 が 愛 されています その 起 源 は ブライアン カーニハン (Brian W. Kernighan) とデニス リッチー (Dennis M. Ritchie) による 著 書 プログラミング 言 語 C ( 原 題 :The C Programming Language)であると 言 われています 同 書 は 初 版 が 1978 年 に 出 版 ( 日 本 語 訳 は 1981 年 に 出 版 )され 当 時 C 言 語 というプログラミ ング 言 語 を 学 ぶ 人 達 のバイブルとして 重 宝 されました この 本 の 中 で プログラミング 言 語 を 学 ぶ 最 善 の 方 法 は 実 際 にプログラムを 書 くことであり 最 初 に 書 くべきプログラムはどんな 言 語 も 同 じである 例 えば hello, world という 単 語 を 印 字 せよ というも のだ という 教 えが 書 かれていました 実 際 に C 言 語 で 記 述 してみると 次 のようになります #include <stdio.h> main() { printf("hello, world\n"); } つまり このバイブル 本 に 書 かれていた 最 初 のサンプルプログラムが 今 でもオマージュされ 色 々な 入 門 書 の 最 初 のサンプルプログラムとなっているのです しかしながら よく 見 てみると hello, world は 全 て 小 文 字 ですし ビックリマークも 付 いていません したがって 本 当 の 通 であれば hello, world とすべきなのでしょうが そこまでコダワリを 前 面 に 出 すと 大 抵 の 場 合 はドン 引 きされるので ちょっと 見 栄 えを 良 くして Hello, World! とするぐらいがちょ うどよいのではないかと 思 っています 2014 Takahiro Arie. 19