GASで「Hello World!」と表示する

プログラムを学ぶ時にまず初めにプログラムで「Hello World!」と表示してみることが、どんなプログラムでもファーストステップになります。
今回は、Google Apps Script(略称:GAS)で 「Hello World!」 と表示する方法をご紹介します。

alert(‘Hello World!’)は使えない

GASは、JavaScriptと同じ記述で動きます。
ただ、GASとJavaScriptとの大きな違いは、JavaScriptは、プログラムを実行する人のパソコンの中のブラウザ上で実行されますが、GASは、Googleのグラウドサーバー上で実行されます。
JavaScriptがブラウザに表示されたHTMLを操作するためのスクリプトに対して、GASは、Googleのドキュメントやスプレッドシートを操作するためのスクリプトのため、ブラウザ上にメッセージを表示させるalertは、GASでは利用できません

JavaScriptでalert(‘Hello World!’)を実行した時に表示されるダイアログ
GASでalertを利用すると実行ログに定義されていませんとエラーが表示されます。

スプレッドシートに「Hello World!」と表示する

まずはGoogleスプレッドシート経由で、スクリプトエディタを起動してください。
詳しくは、「Google Apps Scriptのスクリプトエディタを開く方法」の記事をお読みください。

スクリプトエディタを開いたら、標準で記述されているmyFunction関数の中に、下記のように記述してください。

function myFunction() {
  Browser.msgBox('Hello World!')
}

上記のソースを記述したら、保存ボタンを押すか、ショートカット(「Ctrl + S」)を押してファイルを保存してください。

保存したら、実行ボタンを押すと、プログラムが実行されます。

GASからGoogleスプレッドシートにアクセスする権限を許可します。上の画面が表示されたら「権限を確認」ボタンを押してください。

次にGoogleのアカウントを選択する画面が表示されます。自分のアカウントを選択してください。

GASのファイルからGoogleスプレッドシートを操作する権限を許可します。
「許可」ボタンを押してください。

次に、スクリプトエディタを開いた経由元のスプレッドシートをブラウザ上に表示してください。

スプレッドシート上に、Hello World!と表示されました。
「OK」ボタンを押すと、メッセージボックスが閉じ、GASのプログラムの実行が終了します。

スプレッドシートのセル内に「Hello World!」と表示する

今度は、メッセージボックスではなく、スプレッドシートのセル内に「Hello World!」という文字を入れてみます。

function myFunction() {
  const sheet = SpreadsheetApp.getActiveSheet()
  sheet.appendRow(['Hello World!'])
}

SpreadsheetApp.getActiveSheetで、スプレッドシートのシート情報を取得して、appendRowでシートの行に値を追加していきます。

実行ボタンを押すと、下の画面のように1行目の1列目に「Hello World!」という文字が入ります。

もう一度、実行ボタンを押すと、今度は2行目の1列目に 「Hello World!」という文字が入ります。 実行するたびに、追加されていきます。

appendRowで追加した文字の下に文字を追加していく

appendRowにセットした値は配列です。下記のように複数の値を配列で渡すことで、2列目以降にも文字を入れることができます。

function myFunction() {
  const sheet = SpreadsheetApp.getActiveSheet()
  sheet.appendRow(['1列目','2列目','3列目'])
}

実行すると下の画面のように表示されます。

指定したセルに「Hello World!」と表示する

今度は、ピンポイントでセルの場所を指定して「Hello World!」と表示します。
スプレッドシートでは、列をA,B,C,D … と表現され、行を1,2,3,4…と表現されています。
セルを指定するときは、列の方から先に指定して、3列目の5行目のセルの場合は「C5」と表現します。

function myFunction() {
  const sheet = SpreadsheetApp.getActiveSheet()
  sheet.getRange('C5').setValue('Hello World!');
}

3列目の5行目のセルに「Hello World!」と表示する場合は、上記のように記述します。

3列5行目にHello World!と表示されました。

今回は、プログラム学習のファーストステップでもある「Hello World!」の表示方法をご紹介しました。GASを活用することで、スプレッドシートだけでなく、GmailやGoogleカレンダーなどを操作することができ、業務を効率化することができます。ぜひこれを機会にGASの勉強を始めて頂けると幸いです。