連載
» 2017年08月08日 05時00分 公開

プログラム自動実行で仕事を楽に! APIでSlackなどと連携できる「Google Apps Script」とは働く価値を上げる“VBA/GAS術”(2)(3/3 ページ)

[高橋宣成,プランノーツ]
前のページへ 1|2|3       

GASの実行と保存

プログラムを入力する

 では、実際にスクリプトエディタにプラグラムを記述し、実行してみましょう。 スクリプトエディタには既に「コード.gs」の内容として、以下コードが記述されています。

function myFunction(){
 
}

 「myFunction(){」と「}」の間の行に半角で「Browser.msgBox('Hello');」と入力して、以下のコードを完成させましょう。字下げは「インデント」といい、[tab]キーを使うことで挿入できます。

function myFunction() {
  Browser.msgBox('Hello');
}

入力の注意点

 GASは、大文字と小文字が厳密に区別されます。そのため「browser.msgBox('Hello');」や「Browser.msgbox('Hello');」を、実行するとエラーとなります。このようなエラーを避けるために、スクリプトエディタの「コンテンツアシスト機能」を積極的に使うことをお勧めします。

 コンテンツアシスト機能は[Ctrl]+[Space](Windows)で入力候補をリスト表示する機能で、リストの中から目的の候補を選んで[Enter]キーで選んだコードを記述できます。

 例えば、下図のように「br」まで入力した時点でコンテンツアシスト機能を使うと、入力候補として「Browser」が表示されます(図4)。

図4 コンテンツアシスト

関数とは

 GASでは、プログラムの処理のひと塊を「関数」という単位で記述します。関数は以下の通り「function文」を用いて定義をします。

function 関数名() {
  '処理
}

 関数は、呼び出されると、波かっこの間にある命令を上から順番に実行していきます。その処理の単位を「ステートメント」といいます。前述の例では、関数名は「myFunction」、呼び出されて実行されるステートメントは1つで「Browser.msgBox('Hello');」です。

プログラムの実行と承認

 実際に関数「myFunction()」を呼び出して実行してみましょう。スクリプトエディタからプログラムを実行するには、まずツールバーから実行する関数名をプルダウンリストで選択します(現在はmyFunction1つしかありません)。その上でツールバーの「実行ボタン」(三角形のアイコン)をクリックするか、ショートカットキー[Ctrl]+[R](Windows)/[Command]+[R](Mac)を押すことで実行できます(図5)。

図5 プログラムの実行

 初回の実行のときに「プロジェクトを実行するには、先に保存する必要があります。今すぐ保存しますか?」というダイアログが表示されます。「はい」を選択の上、プロジェクト名を編集し、保存をしてください。

 再度プログラムの実行をすると、今度は「承認が必要です」というダイアログが表示されます(図6)。

図6 承認してください

 プログラムを実行するユーザーは、GASのプロジェクトが「操作対象とするスプレッドシートにアクセスしてもいい」という許可を承認する必要があります。これは、GASならではの手順といえます。

 「承認が必要です」ダイアログで「許可を確認」をクリックし、アカウントを選択します(図7)。続いて表示される画面で「許可」を選択すれば承認作業は完了です(図8)。初回で承認を終えれば、次回以降は承認を求められることはありません。

図7 アカウントの選択
図8 スプレッドシートへのアクセスの許可

 実行しても何も起きないように見えますが問題ありません。実はちゃんと動いています。スクリプトエディタからスプレッドシートに画面を切り替えると、「Hello」と表示されたダイアログボックスが表示されているはずです(図9)。

図9 プログラム実行によりメッセージボックスが表示された

プロジェクトを保存する

 プログラムに変更を加えると、ファイル名の横に「*」(赤いアスタリスクマーク)が付与されます。スプレッドシートやドキュメントなどのアプリケーションでは、編集した内容が自動保存されます。しかし、スクリプトエディタのプログラムは自動で保存されません。このアスタリスクマークがあるときは、ツールバーの保存ボタン(ディスク型のアイコン)またはショートカットキー[Ctrl]+[S](Windows)/[Command]+[S](Mac)でプログラムを保存しましょう(図10)。

図10 プログラムの保存

 今後、このプロジェクトを開く場合は、ひも付いているスプレッドシートを開き、メニューから「ツール」→「スクリプトエディタ」を選ぶことで開くことができます。

次回はVBAで簡単なツールを作ります

 今回は「GASとは何か」「どのように使うか」を解説してきました。これで実際にGASを活用するスタートラインに立つことができたと思います。今後、少しずつ学習と活用を積み重ね、できることを増やしていってほしいと思います。

 今回出てきたショートカットキー/アクセスキーをまとめておきます。これらは、ぜひ覚えておいてください。

ショートカットキーまとめ

  • コンテンツアシスト機能:[Ctrl]+[Space](Windows)

※コンテンツアシスト機能のMacのショートカットは存在するようですが、作動しない可能性もあるため、本稿では記載を避けさせていただきます。

  • プログラムの実行:[Ctrl]+[R](Windows)/[Command]+[R](Mac)
  • プログラムの保存:[Ctrl]+[S](Windows)/[Command]+[S](Mac)

 さて、1回目ではVBA、2回目ではGASについて伝えてきました。この2つは以下の点で類似しています。

  • アプリケーション群を操作できること
  • 業務の効率化や自動化に有効なこと
  • 開発環境の準備が簡単で手軽に始められること

 しかし、どちらか一方が他方を代替する存在かというと、それは早計です。Google Appsを操作するならGASを使わない手はありませんし、クラウドにあるからこそトリガーによる実行やWeb経由での連携が容易となります。

 一方で、GASには実行時間や特定の処理の回数などについて制限があり、それらの制限に抵触しないように注意を払う必要があります。VBAであれば、そのような実行時間の制限を気にせずに開発ができます。またOfficeアプリケーションやInternet Explorerなどを使って仕事をしているなら関連性の高いVBAで開発を行った方が最適でしょう。

 それぞれの得意分野を理解し、適材適所で活用をするのが最も賢い方法です。ぜひ、両方のマスターを目指して頑張っていきましょう。


 次回はVBAで簡単に作れるお役立ちツールの作り方をお伝えします。どうぞお楽しみに。

著者プロフィール

高橋宣成

プランノーツ 代表取締役

「ITを活用して日本の『働く』の価値を高める」をテーマに、ExcelやVBA、G Suite、Google Apps Script、クラウドなどによる企業または個人事業主向けのシステムおよびツールの開発やコンサルティング、セミナー講師などを務める。「IT×働き方」をテーマに運営するブログ「いつも隣にITのお仕事」は、開設2年弱で月間40万PV達成。

書籍紹介

ExcelVBAを実務で使い倒す技術

高橋宣成著 秀和システム 1944円(税別)

動くコードが書けたその先、つまり「ExcelVBAを実務で使う」という目的に特化した実践書。ExcelVBAを楽に効果的に使いこなし続けるための知恵と知識、そしてそのためのビジョンと踏み出す勇気を提供する1冊。


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。