非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

Google Docsのマクロ機能Google Apps Scriptをためしてみた

      2016/06/13

Googleが提供するクラウド用OfficeであるGoogle Docs(あれ?名前変わったっけ??)に、なんとマクロ機能があるんです。MicroSoftのOffice Mobile にはマクロが提供されていないので、ここに関してはGoogleが一歩リードしています。JavaScriptベースとのことで、さっそく試してみました。

1

 

MicroSoftのマクロがExcelで多用されているように、スプレットシートとマクロとはやはり親和性が高いのでしょう。なので、今回もGoogleスプレットシート上で試してみました。
広告

まずはスクリプトを記述してみる

スプレットシートを開いて、メニュー「ツール」から「スクリプト エディタ」を選びます。

2

 

そうすると、マクロエディタが現れます。デフォルトで「function myFunction()」が記述されています。

3

 

今回は、お試しということで、簡単に

Browser.msgBox(“Hello World!”);

の1行を記述しました。これはVBAで言えば「MsgBox」、JavaScriptなら「alert」と同じメッセージボックスです。JavaScriptベースなんだから「alert」でいいじゃん、と思われるかもしれませんが、これはスプレットシート上に疑似的なメッセージボックスを出現させるものなので、alertとはちょっと違います。

4

 

書き終わったら保存しましょう。保存しないと実行できないみたいです。保存ボタンを押すとプロジェクト名を聞いてきますが、適当に入力してください。

4

 

次はイベントを発生させるボタンを作成

さて、今度はスプレットシート側です。マクロを起動させるためのボタンを作ります。「メニュー」-「図形描画」を選び・・・、

5

 

通常の図形描画と同じように描いていきます。今回はボタンらしく長方形を選びました。描いたら右上の「保存して閉じる」ボタンを押します。

6

 

で、出来上がった長方形。

7

 

今度は長方形の図形にスクリプトを割り当てます。図形を選択すると右上に矢印が現れるので、それをクリックするとプルダウンメニューが現れます。その中から「スクリプトを割り当て」を選び、「どのスクリプトを割り当てますか?」と来るので、先ほど作った関数名を入力します。正直ここは選択式にしてほしいんですが、直接入力なんです。なんかGoogleらしいというか・・・。

8

 

準備はできたので実行・・・と思ったら

さあ、準備が済んだと思い、さっそく図形をクリックすると・・・、

7

 

初回だけ、認証が必要みたいです。まあサーバー上で稼働させるものだから仕方ないか。「続行」を押しましょう。

9

 

次に以下の図のようなウィンドウが現れます。「許可」を押します。

 

a1

 

さあ、今度こそ実行だ!

ボタンを押すと以下のウィンドウが現れました。成功です。ちなみに2回目以降から認証手続きがないので、ボタンを押すとそのまま実行されます。

a2

 

サーバー上で動作させているだけに、速度は若干遅め。このスクリプトでどこまでできるか今後試していきたいと思います。しかし、MicroSoftは一歩で遅れていますね。Excel mobileでマクロが使えると最高なんですが、まあ、それをやっちゃうと製品版Officeが売れなくなっちゃうのでしょうかね。

次はセルの操作かな。乞うご期待。

 

 - Google Apps Script, Google Dirve