【そのまま使える】Google Apps ScriptとGoogleフォーム、Googleスプレッドシートによる顧客管理システム
こんにちは!KCompany代表のケータです!
以前、Googleフォームで初期値を設定する方法という記事を紹介しましたが、この仕組みを活用した簡易的な顧客管理システムを作りました!
Googleフォームで顧客管理情報を入力すると、連携したスプレッドシートにデータが保存されますが、この値を編集しようとすると、直接スプレッドシートをいじったりしないといけませんでした。今回は、GoogleフォームのUIのまま編集したい、というのがやりたいことになります。
Google Apps ScriptとGoogleフォーム、Googleスプレッドシートによる顧客管理システムの動作イメージ
今回はGoogleフォームとGoogleスプレッドシートの2ファイル構成になっています。Googleフォームで顧客管理情報を入力すると(当然のことながら)、連携したスプレッドシート側で以下のように情報が保存されます。今回は以下の赤枠の情報を編集します。
Googleフォームの編集ページ(フォームに回答するページではありません)に遷移すると、下記のようにid検索のポップアップが表示されます。ここに編集したいデータのidを入力します。
すると、下記のようなポップアップ画面が表示されます。このURLをコピペしてブラウザでアクセスします。
すると、今度はGoogleフォームの回答ページが表示されます。こちらの回答欄にはデフォルトでid検索したデータの情報が入ってます。ここで必要な情報を編集することができます。ここが今回やりかった最大のポイントになります。
フォームで回答をすると、スプレッドシートに情報が保存されます。その際、同一のidについては一番右の削除フラグを1にして、古い情報であることを明示的にしています。
設定方法
以下、ご自身の環境にコピーをして以降の設定方法を記載します。
設定方法①:フォームとシートを連携させる
コピーしたフォームでは同じくコピーしたシートが連携していません。なので、この設定をします。「回答」から以下の赤枠部分の選択をしていき、コピーしたシートに連携をします。
設定方法②:不要なシートの削除
先程の設定をすると、コピーしたシートにフォームと連携したシートが生成されます。念の為、コピーした時点にあった不要なシートを削除しておきましょう。
設定方法③:IDの設定
Googleフォーム側のスクリプトエディタを開き、コピーしたスプレッドシートのドキュメントIDを以下の部分に入力します。
同じく、フォームのドキュメントIDを以下の部分に入力します。
※ID設定があるので、そのまま使えんやん!というツッコミは、まさしくその通りなので、甘んじて受け入れます・・・
設定方法④:トリガーの設定
Googleフォーム側のスクリプトエディタを開き、以下の通りトリガーの設定をします。
スプレッドシート側のスクリプトエディタを開き、以下の通りトリガーの設定をします。
以上で設定は終了です。
注意点
id検索の入力値チェックは特にやってません。なので、例えば、存在しない値を入力すると、undefinedな値が設定されたURLが返ってきます。
また、id検索のダイアログがでるのはファイルを開いたときのみです。
(2021年5月18日追記)
おおよそのブラウザのURL入力制限は2000文字程度のため、生成されたURLが2000文字以上の場合は動作しません。詳細は下記を参照ください。
Google Apps ScriptとGoogleフォーム、Googleスプレッドシートによる顧客管理システムを実際に使うには
ここまで読んでくださって、実際に使ってみたい!という方がいらっしゃいましたら、以下からぜひご利用いただければ幸いです。閲覧用のファイルを用意してますので、そちらをコピーし、ご自身の環境にてご利用いただくイメージになります。
もしくは、下記のメルマガ登録を頂ければ、特典として閲覧用のファイルを共有させて頂きます。
【お仕事のご依頼について】
こちらの記事に記載した内容以外にも、Google Apps Script開発やGoogle Workspaceを活用したデジタル化推進のお仕事を行っています。【GAS】そのまま使えるシリーズのカスタマイズのご相談ももちろん大丈夫です。
ちょっとしたお困りごとでも、こちらのサイトのお問い合わせフォームからご連絡いただければ、折り返しご連絡いたします。
Google Apps ScriptとGoogleフォーム、Googleスプレッドシートによる顧客管理システムへのアクセス
ここから先は
¥ 980
よろしければサポートをお願いします!いただいたサポートは、サービス開発・改善のために使わせていただきます。主に書籍代や勉強会の参加費用などを想定しています。よろしくお願いします。