Google Apps Scriptでアプリを作るにあたっての道筋は見えた。とりあえず、スクリプトの基礎は知っておかないと話にならない。
幸いGoogle Apps Scriptのサイトには手厚いチュートリアルやサポートページが用意されているので、根気よく読み進めていけば独学でマスターすることができるようにはなっています。
ただ、Google Apps Scriptのリファレンスページには、あまりにも膨大な量なので、一つ一つ進めていくのは大変。
せっかちでめんどくさがりなので、必要最小限の装備で突き進みたい。
とりあえず、下記ページにあったスクリプトをChatGPTに丸投げしてみた。
Google Apps Scriptデベロッパー向けの説明ページ
https://developers.google.com/apps-script/reference/forms?hl=ja
以下はGoogle apps Scriptのコードです。 これが何を行うコードなのか一つずつ素人にもわかりやすく説明してください。
以下サンプルコード
~略~
このコードは、Google Apps Scriptを使用して新しいフォームを作成し、さまざまな種類の質問を追加しています。
var form = FormApp.create('New Form');
この行は、新しいフォームを作成し、そのフォームオブジェクトを変数form
に格納しています。フォームのタイトルは「New Form」です。var item = form.addCheckboxItem();
この行は、フォームにチェックボックス質問を追加しています。質問のオブジェクトは変数item
に格納されています。item.setTitle('What condiments would you like on your hot dog?');
この行では、チェックボックス質問のタイトルを設定しています。item.setChoices([...]);
この行は、チェックボックス質問の選択肢を設定しています。選択肢として「Ketchup」、「Mustard」、「Relish」が設定されています。
・・・・・(以下略)
おおお!一行ずつ解説してくれる!しかも、英語も訳してくれる…(泣)
ただ、すいません。。私、本当に何も知らないんです。。
ではGoogle apps Scriptにおいて、クラス、メソッド、プロパティとはなんですか?
Google Apps Scriptは、Googleの各種サービス(スプレッドシート、フォーム、ドキュメントなど)を自動化するためのスクリプト言語です。ここでの「クラス」、「メソッド」、「プロパティ」とは、オブジェクト指向プログラミングの概念を表しています。
- クラス(Class): クラスは、オブジェクトの設計図やテンプレートのようなものです。クラスには、オブジェクトの特性や動作を定義する属性(プロパティ)や操作(メソッド)が含まれます。Google Apps Scriptでは、サービスやオブジェクトを操作するためのクラスが提供されています。例えば、
FormApp
クラスはフォームを操作するためのクラスです。 - メソッド(Method): メソッドは、クラスに定義された関数のことです。メソッドは、オブジェクトに対して特定の操作を行うために呼び出されます。例えば、
setTitle()
メソッドはフォームのタイトルを設定するために使用されます。 - プロパティ(Property): プロパティは、オブジェクトの属性や状態を表す変数のようなものです。オブジェクトのプロパティには、そのオブジェクトの特定の情報が格納されています。例えば、フォームのタイトルや選択肢などがプロパティとして扱われます。
おーーなんか、人間の講師に聞くのは申し訳ないと感じる「そもそもこの言葉の意味って・・・」とか、「話の腰を折って申し訳ないのですが・・」みたいなことを遠慮なく聞けるってすごく便利!
調子に乗ってどんどん質問してみた。
「Google apps Scriptには他にどのような「概念」を表す言葉がありますか?」
「Google apps Scriptでアイテムとは何を意味しますか?」
「varの名前は必ずformでなくてはいけませんか?」
「const とは何ですか?」
「let と const と var がいずれも変数を定義するのですか?ほかにもありますか?」
おそらく、プログラマの方が見ると「こんな奴がコード書いたらあかんやろ…」と青ざめるレベルの質問を遠慮なく繰り返していき、とりあえずJavaScriptやGoogle Apps Scriptの基本のお作法のようなものをなんとなく身につけていったのでした。
基本のお作法と言っても、本当に「プログラムがちゃんと走り出してくれる」レベルのものなんですが、それでもChatGPTの伴走は本当にこころづよい!
コメント