見出し画像

GAS(Google Apps Script)でスプレッドシートからフォームを自動生成するマクロを作りました その1〜GASとは何か〜

GASとは何か

私の職場では、アプリのインストール権限がなく、アプリの購入費用もないため、VBAを利用してExcel、Word、PowerPointのマクロを作ることが多くあります。Excelの自動印刷、Wordに自動でルビを振れるマクロ、パワーポイントの選択箇所を四角で隠してフリップボードのようなアニメーションを作るマクロ、ワーキングメモリをトレーニングするフォームアプリなど。

そんな経緯があり、Excel周辺のVBAプログラミングには比較的慣れていました。そんな中、職場の教育用にはMicrosoft Officeではなく、G Suiteが導入され、WindowsのPCの代わりにChromebookが導入されるというような形になってきました。

確かに、Chromebook、設定情報やアプリ、ファイルの情報がネットワーク上にあり、端末に個別の情報が残らないので管理側からは非常に便利です。OSのアップデートだって、起動だって、メチャクチャ早い。

唯一の弱点は、そう。Windowsではない、というところです。特にVBAマクロ遣いにとっては、これまでに作った資産が一切使えない。では、G Suiteでは、マクロを組むことができないのか?

そんなことはありませんでした。Office製品では、VBAという言語を使ってマクロを記述していましたが、G Suiteには、javascriptをベースにしたGoogle Apps Script(GAS)があり、Office製品と同様にマクロを組むことができます。

しかも、G Suiteはクラウドとして提供されているため、メールを連携させたり、特定の時刻にマクロを走らせるということも、特別な設定もなく、ハードウェア的な心配もなくできてしまいます。

今まで、javascriptは、ほとんど使ったことがありませんでしたが、この際、いい勉強にもなるのでGASを使ってみようか、と思った矢先に、コロナウイルスが加速度的に勢力を伸ばしてきました。

Googleフォームを自動生成

このような事態で、G Suiteのサービスで何を一番使うかと考えると、学校ではGoogleフォームが筆頭に上がってくるのではないかと考えました。

生徒が登校できない中での課題、現状把握のためのアンケート。使用する場面は多岐に渡ります。

Googleフォームを使用したことのない人のために説明をすると、Googleフォームは、直感的な操作でアンケートやクイズを作ることができるGoogleのサービスです。結果がクラウド上に集約され、UIも直感的でわかりやすいのですが、大量のフォームを作ることを考えると、コピー&ペーストのやりやすい形式が重要になってきます。

そう考えると、スプレッドシートに情報を書き込めばフォームが作れる、という方が圧倒的に楽になる場面は多くあるのです。

というわけで、作ってみました。

スクリーンショット 2020-04-18 1.17.41

スプレッドシートに情報を入力し、実行ボタンを押すと、マイドライブのトップにフォームがはき出されます。下のリンクで開き、ファイル→コピーを作成で自分のドライブにうつしてください。

※Googleのアカウントが必要になります。

使用方法は下の動画からご覧ください。

このマクロを作った手順を、今後、GASによるフォーム作成の方法として記載していこうと思います。

スクリプトエディタの開き方

まずは基本ですが、GASは、スプレッドシートやドキュメントなどのGoogleのサービスに付属してくるスクリプトエディタを開くことで記述することができます。

今回は、スプレッドシートを出発点として、スクリプトエディタを開きます。スプレッドシートは、Googleのアカウントを取得していれば誰でも使用することができる表計算Webサービスです。

画像2

スクリプトエディタは、上記のように、ツール→スクリプトエディタから開きます。ここにjavascriptを元としたスクリプトを書くことで、様々なGoogleのサービスを自動化することができます。

今回はここまでにして、次回は、GASを使用してスプレッドシートの値を取得する方法について見ていこうと思います。




この記事が気に入ったらサポートをしてみませんか?