スクリプトエディタの基本操作

はじめに

Google Apps Script(GAS)はgoogleが提供するサービスをスクリプトを実行することで操作できるサービスです。対象となるサービスはフォーム、ドライブ、ドキュメント、スプレッドシートなど全部で11もあるそうです。言語はJavascriptを基本として作られています。スクリプトエディタというのはスクリプトを記述してプログラムを実行するために必要なものです。様々なサービスに対して実行することが出来るので、覚えると使用する場面はたくさんあるでしょう。今回はこのGASについて、初心者の私も勉強しながらまとめていきます。GASやスクリプトエディタの基本から一緒に学んでいきましょう。

Javascriptとの違い

冒頭の説明でJavascriptを基準に作られた言語だという説明を書きましたが、全く同じというわけではありません(全く同じだったら作られてませんもんね)。大きな違いはGASがサーバーサイドで動く言語であることでしょうか。Javascriptはクライアントサイドの言語ですので、この違いによりJavascriptと全く同じ扱いができないこともあります。

Javascriptでよく見かけるコードを挙げて説明します。例えばアラートを出す役割をするalert()などのコードですが、GASで使おうとすると未定義エラーが発生してしまいます。GASではwindowオブジェクトや、その一部であるDocumentオブジェクトを使用した処理はできないのです。ですのでHTMLのIDを取得するgetElementById()なども使用することができません。Javascriptを使い慣れているのはGASを始めようとする際の利点ではありますが、こういった使用できない関数などを理解するのが大変なところではありますね。

ですがその代わりGASには上記のwindowオブジェクトなどの変わりに、各サービスごとにオリジナルの関数が用意されていて、それを使うことで同じような振る舞いをさせることができます。

スクリプトエディタとは

スクリプトエディタとはGASのスクリプト(プログラム)を記述することができる場所です。GASを利用するためにはこのスクリプトエディタへ記述することが必須となります。今回はGoogleのスプレッドシートからスクリプトエディタを使用する方法を紹介していきます。

スクリプトエディタを開いてみる

今回はスプレッドシートから開きますので、スプレッドシートを開いておきます。上部メニューの「ツール」「スクリプトエディタ」の順でクリックしていってください。すると別タブでスクリプトエディタが開き、コードが記述できる画面になります。

画面構成としては、最上部のメニュー(ファイル、編集、表示、実行、公開、リソース、ヘルプ)、ツールバー、ファイル一覧、コードエリアに分かれています。

メニューにはよく使用するであろう機能が集約されていますので一通り覗いておくことが望ましいです。ツールバーではマウス操作による実行やデバッグが出来るようになっています。ファイル一覧では保存されているファイルを確認することが出来ます。コードエリアは実際にコードを記述する場所になっています。

スクリプトエディタの基本操作

最初はコードエリアにコード.gsというファイルが開かれていて以下のような空の関数だけが用意されています。

function myFunction() {}

(※もし何か保存しているマクロがあればその内容が記述されています。)

この空のfuctionの中に記述を追加して、javascriptでいう所のalert()を表現していきます。GASでalert()の変わりとなる関数は「Browser.msgBox()」という関数になります。こちらもダイアログを表示する意味の関数となっています。では、実際に例としてスクリプトエディタに記述をしてみましょう。

function myFunction() {

Browser.msgBox(“はじめてのGAS”);

}

引数に表示したい文字列を記述するところはjavascriptのalert()と同じですね。さて、記述が終わったら今度は書いたスクリプトを実行してみましょう。GASでは関数ごとにスクリプトを実行することが出来ます。実行する関数はプルダウンメニューから選べるようになっています。試しに今記述した関数をコピー&ペーストして関数名を変更したものを用意してみてください。プルダウンを開くと元々の関数と、コピーした方の関数が表示されるのが分かります。

実行したい関数を選択したら、今度は▶マークをクリックして実行します(windowsの場合Ctrl+Rでも可能)

※初回はスクリプトを実行するために承認が必要になります。もし承認画面が表示されたら画面に従って進んで承認作業を行ってください。

実行(もしくは承認作業)が完了するとスプレッドシートにダイアログが表示されていると思うので、確認してみてください。私もしっかり”はじめてのGAS”が表示されました。こうやって実行結果が正しく表示されると嬉しいものですね。

スクリプトのデバッグ

次はプログラミングで重要なデバッグについて、「ログ」と「実行トランスクリプト」についての説明をしていきます。ここでもまたjavascriptとの違いを突き付けられるのですが、GASではconsole.log()が使用できないのです。Javascriptユーザーにとってconsole.log()はデバッグの強い味方なので私もここで少し戸惑いました。しかし、ちゃんと代わりが用意されていましたので安心してください。

GASではconsole.log()の代わりに「Logger.log()」という関数を使用します。先ほどの例で記述した、Browser.msgBox()を書き換えてどのように表示されるか試してみましょう。

function myFunction() {

Logger.log(“はじめてのGAS “);

}

これを先ほど紹介した手順と同じように実行してみます。先ほどと違って画面に表示させるわけではないので、スプレッドシートには何も表示されていないのが確認できるはずです。ログを表示させるには、スクリプトエディタに戻り、上部の「表示」メニューからログを選択しクリックします。(windowsの場合Ctrl+Enterでも可能)。すると画面上にログが表示されましたね。これが「Logger.log()」関数です。Javascriptのconsole.log()と同じように、デバッグの際に処理がどこまで実行されているのか、正しく進行しているのかなどを確認するために使用することが出来ます。

最後に

ここまでがスクリプトエディタの基本的な操作方法になります。ここからは実際にスクリプトを記述→デバッグ の繰り返しになります。連携したいサービスによって記述方法も変わってきますので、そのサービスによってさらに情報収集が必要となります。業務などでGoogleのサービスを利用することは多くあるので大変便利だということが改めて分かりますね。