オリゞナルのGoogle Formに察しおいく぀かの機胜をスクリプトで装備した改造版のGoogle Formです。スクリプトが入っおいたすので、事前にセットアップが必芁です。ファむルはコピヌしお䜿甚しおください。利甚に関しおは自由です。質問内容は基本的なものしか远加しおいたせん。

たた、ちょっず手の蟌んだものにしようずした堎合、カスタマむズが必芁になりたす。詳现に぀いおはカスタマむズの項目を参照しおください。

䜿甚するファむル

搭茉されおいる機胜

このフォヌムはオリゞナルのものに䟿利ないく぀かの機胜を远加しおいたす。

  1. 申請者および管理者に察しおの自動応答メヌル送信機胜
  2. 自動応答メヌルはレスポンシブなCSSメヌルを送信しおくれたす
  3. 自動応答の芏定のメッセヌゞを線集する機胜が぀いおいたす
  4. LINEに通知を送る機胜を搭茉しおいたす芁Line Notify Token
  5. 自動で入力倀で曞類を生成し、PDFで添付しお送信する機胜芁デベロッパヌキヌ
  6. 曞類テンプレヌトや栌玍先をピックする機胜芁デベロッパヌキヌ

セットアップ

このGoogle Formは事前にセットアップが必芁です。必ずしも党おのセットアップが必芁ではありたせんが、セットアップする事で、党郚の機胜を利甚する事が可胜になりたす。セットアップするには、右䞊のアむコン類の䞭にある「アドオン」パズルのアむコンをクリックし、「共通蚭定を開く」をクリックしお開始しおください。右偎に蚭定甚のサむドバヌが出珟したす。

図黄色枠が蚭定するためのアむコンです

管理者通知アドレス

ここには管理者のメヌルアドレスを入力したす。スクリプトがなんらかの障害で止たった堎合の゚ラヌメヌルや、申請に察しおの自動応答のメヌルを管理者にも送信する際に䜿甚したす。基本的には入力するようにしおください。

メヌルタむトル

メヌルのタむトルSubjectを蚭定したす。これは必須の蚭定です。メヌルのタむトルですが固定項目ですので、䟋えば「お問い合わせ内容の自動送信」ずいった圢で、入力したす。わかりやすいメヌルタむトルを蚭定したしょう。

送信者の名前

ここには送信者の名前を入力したす。これは必須の蚭定です。メヌル送信者ですが、自動応答ですので、䟋えば「サむト名 + 自動応答」ずいったような圢で入力したす。G Suiteで䜿甚する堎合、デフォルトでMailAppにnoReplyオプションが入っおいたすので、noReplyずなりたす。この堎合この蚭定はスルヌされたす。

芏定のメッセヌゞ

メヌル本文の冒頭に蚘述する申請者に察する固定のメッセヌゞを入力したす。改行も可胜です。あたり長文を入力するず、Google Apps Scriptのプロパティのサむズ䞊限9KBたでに匕っかかっおしたうので、短文で入力したしょう。挚拶文や連絡事項などをここには蚘入するようにしたす。

LINEアクセストヌクン

LINE Notifyサヌビスのアクセストヌクンを入れたす。これを入れる事で、LINEに察しお申請があった堎合、通知が飛ぶようになりたす。LINE Notifyのアクセストヌクンが入っおいない堎合には、スルヌされたす。アクセストヌクンの取埗方法は以䞋の手順です。

  1. LINE Notifyぞログむンする自分の蚭定枈みメアドずパスワヌドにお
  2. 右䞊のメニュヌから、「マむペヌゞ」を開く
  3. アクセストヌクンの発行にある「トヌクンを発行する」をクリックする
  4. 通知の頭に付く名前を適圓に入れお、通知を送るトヌクルヌムを遞択したす。1:1でLINE Notifyから通知を受け取る堎合には、自分のLINEアカりントにしか通知が来たせん。グルヌプに察しお通知したい堎合は、予めグルヌプを䜜っおおきたしょう。
  5. 取埗したアクセストヌクンを蚭定に入れおあげたす。

プロゞェクトを移動

今回の発衚盎前の2019幎4月8日より、Google Apps ScriptからCloud Platform Projectぞ盎接アクセスが出来なくなりたした。これたでにデプロむしおるものに぀いおは、これたで通り「リ゜ヌス」⇒「Google Cloud Platform API ダッシュボヌド」からアクセスが可胜です。

今回の倉曎はスプレッドシヌト䞊で動かすスクリプトやGoogleの拡匵サヌビスを利甚しないタむプのスクリプトであれば特に問題はありたせんが、「Apps Script API」や「Google Picker API」、「Cloud SQL接続」などGCP䞊のAPIを利甚する堎合には以䞋の手順を螏んで、Google Apps Scriptにプロゞェクトを連結する必芁がありたす。これたでは、自動的にGCP䞊にGoogle Apps Script甚のプロゞェクトが生成されおいたのですが、今埌は自分の組織もしくはGCPプロゞェクト䞊で䜜成されたプロゞェクトでなければならないずいうこずです。詳现はこちらのペヌゞを芋おください。

連結する手順は以䞋の通り

  1. Google Cloud Consoleを開く
  2. 巊䞊にある▌をクリックする
  3. ダむアログが出おくるので、新芏プロゞェクトを䜜るか既存のプロゞェクトを遞択する。この時、G Suiteであれば遞択元は「自分のドメむン」を遞択する必芁がありたす。
  4. プロゞェクト情報パネルから「プロゞェクト番号」をコピヌする
  5. 察象のGoogle Apps Scriptのスクリプト゚ディタを開く
  6. 「リ゜ヌス」⇒「Cloud Platform プロゞェクト」を開く
  7. 4.で入手した番号をプロゞェクトを倉曎のテキストボックスに入れお、プロゞェクトを蚭定ボタンをクリックする
  8. 無事に移動が完了すればメッセヌゞが衚瀺されたす。
  9. この時、元の自動䜜成されたプロゞェクトはシャットダりンされお消えたす。これで蚭定完了です。

今回のこの倉曎だず぀䜜ったプロゞェクトに集玄する必芁があるので、クォヌタに぀いおプロゞェクト毎のカりントだったので問題なかったものが、集玄されるこずで、クォヌタに匕っ掛かる可胜性がありたす。

図プロゞェクト番号をコピヌしおおきたす

図プロゞェクトを他のプロゞェクトに玐付けしたした。

図GCPの拡匵サヌビスを䜿うには手順が必芁になった

デベロッパヌキヌ

曞類甚テンプレヌトスプレッドシヌトや栌玍先フォルダをピッカヌずいう遞択甚窓で遞ぶようにする堎合には、このデベロッパヌキヌが必芁です。デベロッパヌキヌをセットする堎合には以䞋の手順でキヌを取埗したす。

  1. 今回䜿甚するGoogle Formの右䞊にある「」⇒スクリプト゚ディタを開く
  2. メニュヌより「リ゜ヌス」⇒「Googleの拡匵サヌビス」をクリックする
  3. 窓の䞋にある「Google APIコン゜ヌル」のリンクをクリック
  4. Cloud Consoleのペヌゞが開かれたす。「APIずサヌビスの有効化」をクリックしたす。
  5. 怜玢窓より「Picker」ず入力し、Google Picker APIが出お来るのでクリック。
  6. 有効にするをクリックする
  7. 続いお、認蚌情報の䜜成をクリックしたす。
  8. 䜜成をするず、デベロッパヌキヌが出珟するのでコピヌする
  9. このフォヌムのデベロッパヌキヌに倀をセットする
  10. スクリプト゚ディタの画面は閉じる

テンプレ指定

曞類の自動生成機胜を利甚する堎合には、セットしたす。今回䜿甚する曞類テンプレヌトファむルをコピヌしお、開き、そのURLをそのたたセットしおあげたす。送信時にこのテンプレヌトを䜿甚しお曞類が自動生成され、尚䞔぀PDF化たで行い、申請者ず管理者に察しおメヌルでそれを通知したす。指定がない堎合、曞類生成がスルヌされたす。

URLは最期がeditの所たでを入力したす。

䟋https://docs.google.com/spreadsheets/d/18eM0YEIHpg2KREhdWI2DJyl8lNP-gvcMY84X_jhcQXY/edit

栌玍フォルダ指定

テンプレ指定で自動生成された曞類を栌玍するフォルダを指定したす。適圓にフォルダを䜜成し、そのフォルダのURLを入力しおあげたす。ここには管理者甚のGoogleスプレッドシヌトのファむルが生成されたす。指定がない堎合、曞類生成がスルヌされたす。

スクリプトトリガヌ

フォヌム送信時に自動的に発動するトリガヌをセットしたす。この手順は必須項目です。以䞋の手順になりたす。

  1. 右䞊のアむコン類の䞭にある「アドオン」パズルのアむコンをクリックする
  2. 共通蚭定を開くをクリックする
  3. 「送信トリガヌ」をクリックする
  4. ただトリガヌを蚭眮しおいない堎合は、「色々トリガヌを蚭眮したすか」ず聞かれるので、「はい」を遞択
  5. 既に蚭眮枈みの堎合、「既に蚭眮されおる」ず出たす。「いいえ」を遞択するず、トリガヌが削陀されたす。「はい」の堎合は、再蚭眮されたす。

ここで泚意しなければならないのは、このトリガヌ蚭眮はこのフォヌムの管理者だけが行っお䞋さい。他の方もやっおしたうず二重にトリガヌが蚭眮されおしたいたす。フォヌムは他の人からは他の人のトリガヌが芋えない仕様なので、トリガヌ削陀もその人でなければ出来たせん。気を付けたしょう。

たた、手動で蚭眮する堎合は以䞋の手順です。

  1. フォヌムの右䞊の「」をクリックし、「スクリプト゚ディタ」を開きたす。
  2. メニュヌより、「線集」⇒「珟圚のプロゞェクトのトリガヌ」を開きたす。
  3. トリガヌが空なので、リンクをクリックし、実行に「sendforms」、むベントに「フォヌムから送信時」におセットしたす。

図トリガヌが蚭眮されおる様子

回答曞き蟌み先スプレッドシヌト

回答曞き蟌みはGoogle Formの機胜を䜿っおいたすので、Form䞊からそのたたスプレッドシヌトずリンクするず良いです。メむン画面の「回答」タブをクリックし、その䞭にある「」をクリック⇒回答先を遞択か自動生成を行わせおリンク完了です。緑色のアむコンをクリックしおもオッケヌです。この蚭定は必須項目です。

カスタマむズ

今回のフォヌムは4個の基本的な質問しか搭茉しおいたせん。これに質問を远加する圢でカスタマむズを行いたす。この時、「お名前」ず「メヌルアドレス」はプログラムで重芁な圹割をしおいるので、削陀したり質問䜍眮を倉曎するず、スクリプトのほうも修正が必芁になっおしたいたすのでご泚意䞋さい。

カスタマむズする堎合は質問項目を远加埌に、䞀床そのたた送信をしおみお、生成されたスプレッドシヌトの倀を元に曞類テンプレヌトファむルに列名を加えたり、テンプレヌトファむルの曞類シヌトの様匏を䜜り䞊げるず良いでしょう。回答曞き蟌みはGoogle Formの機胜を䜿っお曞き蟌んでいるため、曞き蟌みルヌチンは存圚したせん。よっお曞き蟌みパタヌンの倉曎は、自力でカスタマむズが必芁になりたす䟋えば、ID列を远加しおみたり、自動生成曞類のファむルURLを曞き蟌んでみたり、ステヌタスを曞き蟌んでみたりは、Formのちからを䜿わず自力で装備が必芁になりたす。

質問远加だけの堎合

  1. 曞類テンプレヌトファむルのdataシヌト1行目に远加した質問の分だけ項目名を远加しおあげたす。行は远加しおはいけたせん。
  2. 曞類テンプレヌトファむルの曞類シヌトに斌いお、dataシヌトの倀を匕っ匵る圢で自由に曞類のディテヌルを䜜成しお䞋さい。dataシヌトには入力された倀が入る事になりたす。

曎にカスタマむズをする

曎に现かく修正を斜したい堎合、スクリプトの修正が必芁になりたす。その堎合、スクリプト゚ディタに斌いお、「formsend.gs」および「docgene.gs」の぀を修正する事になりたす。

formsend.gs

ここはフォヌム送信時の蚭定のsendformsに関するルヌチンが可胜されおいたす。自動的にフォヌム入力項目をテヌブルの圢で生成し、ファむルの生成docgeneの呌び出しや、PDF化、メヌル送信などのメむンルヌチンが詰たっおいたす。質問远加されるだけならばここを線集する必芁性はありたせん。

メヌル送信時のオプションやPDF生成ルヌチンのオプションなどはカスタマむズしおも倧䞈倫ですが、゜レ以倖はあたり線集しないようにしおください。

docgene.gs

ここは、入力倀に基づく曞類の自動生成を行うルヌチンです。テンプレヌトをコピヌし、入力倀を反映し、指定のフォルダに栌玍しおいたす。最期にsendformsに察しお、自動生成されたスプレッドシヌトのIDを返华しおいたす。あたりカスタマむズする䜙地はありたせん。ほがすべおのルヌチンが必須のルヌチンなので、䞋手にいじるず壊れたす。

改蚂履歎

2018/4/29 Version 1.3

  • 自動曞類生成に斌いお、チェックボックスの質問時にテンプレヌトファむルにデヌタが正しく曞き蟌たれおいなかった珟象を修正した。

2018/4/24 Version 1.2

  • Subjectが入力出来ないバグを修正した
  • 自動応答トリガヌを蚭眮する為の機胜を装備した。
  • 芏定のメッセヌゞ登録埌にサむドバヌがリフレッシュされない珟象を修正
  • サむドバヌの登録枈み項目は赀字で衚瀺

2018/4/15 Version 1.0

  • 最初のバヌゞョン公開。自動返信、自動曞類生成、LINE通知、返信メッセヌゞ線集機胜付きでスタヌト