![見出し画像](https://assets.st-note.com/production/uploads/images/79354126/rectangle_large_type_2_3fb8135bffe878b32e24bf6cbcfd2cf1.png?width=1200)
【そのまま使える】Google Apps ScriptとGoogleフォーム、Googleスプレッドシートによる顧客管理システム
こんにちは!KCompany代表のケータです!
以前、Googleフォームで初期値を設定する方法という記事を紹介しましたが、この仕組みを活用した簡易的な顧客管理システムを作りました!
Googleフォームで顧客管理情報を入力すると、連携したスプレッドシートにデータが保存されますが、この値を編集しようとすると、直接スプレッドシートをいじったりしないといけませんでした。今回は、GoogleフォームのUIのまま編集したい、というのがやりたいことになります。
Google Apps ScriptとGoogleフォーム、Googleスプレッドシートによる顧客管理システムの動作イメージ
今回はGoogleフォームとGoogleスプレッドシートの2ファイル構成になっています。Googleフォームで顧客管理情報を入力すると(当然のことながら)、連携したスプレッドシート側で以下のように情報が保存されます。今回は以下の赤枠の情報を編集します。
![画像1](https://assets.st-note.com/production/uploads/images/46804563/picture_pc_c8f6c8c9afecaa121d10d0e79a83f236.png?width=1200)
Googleフォームの編集ページ(フォームに回答するページではありません)に遷移すると、下記のようにid検索のポップアップが表示されます。ここに編集したいデータのidを入力します。
![画像2](https://assets.st-note.com/production/uploads/images/46804805/picture_pc_83bcd53c41e10a63ed1185f5e3908ad1.png?width=1200)
すると、下記のようなポップアップ画面が表示されます。このURLをコピペしてブラウザでアクセスします。
![画像3](https://assets.st-note.com/production/uploads/images/46804896/picture_pc_e6391c4a2992a5699de38e7a84082ea0.png?width=1200)
すると、今度はGoogleフォームの回答ページが表示されます。こちらの回答欄にはデフォルトでid検索したデータの情報が入ってます。ここで必要な情報を編集することができます。ここが今回やりかった最大のポイントになります。
![画像4](https://assets.st-note.com/production/uploads/images/46804940/picture_pc_cd7d91897e732a3a494b5e75bfe71a92.png?width=1200)
フォームで回答をすると、スプレッドシートに情報が保存されます。その際、同一のidについては一番右の削除フラグを1にして、古い情報であることを明示的にしています。
![画像5](https://assets.st-note.com/production/uploads/images/46805020/picture_pc_011a1e162d07809eadd485d4a6e3efbc.png?width=1200)
設定方法
以下、ご自身の環境にコピーをして以降の設定方法を記載します。
設定方法①:フォームとシートを連携させる
コピーしたフォームでは同じくコピーしたシートが連携していません。なので、この設定をします。「回答」から以下の赤枠部分の選択をしていき、コピーしたシートに連携をします。
![画像6](https://assets.st-note.com/production/uploads/images/46805233/picture_pc_d699c2326fe30330100859f6ea1dace1.png?width=1200)
![画像7](https://assets.st-note.com/production/uploads/images/46805339/picture_pc_3c036c0de1dbc1f1bbb1380422c02f58.png?width=1200)
![画像8](https://assets.st-note.com/production/uploads/images/46805350/picture_pc_3c4f6e36a0d7104649e6134c46007233.png)
設定方法②:不要なシートの削除
先程の設定をすると、コピーしたシートにフォームと連携したシートが生成されます。念の為、コピーした時点にあった不要なシートを削除しておきましょう。
![画像9](https://assets.st-note.com/production/uploads/images/46805393/picture_pc_a7cad5f305d8ce040a108e6de47d19e9.png)
設定方法③:IDの設定
Googleフォーム側のスクリプトエディタを開き、コピーしたスプレッドシートのドキュメントIDを以下の部分に入力します。
![画像10](https://assets.st-note.com/production/uploads/images/46805507/picture_pc_8629acd1944a6165c1146024550fe223.png?width=1200)
同じく、フォームのドキュメントIDを以下の部分に入力します。
![画像11](https://assets.st-note.com/production/uploads/images/46805796/picture_pc_2d0dbb82d35e8ecfdc42f56e92bc4a70.png?width=1200)
※ID設定があるので、そのまま使えんやん!というツッコミは、まさしくその通りなので、甘んじて受け入れます・・・
設定方法④:トリガーの設定
Googleフォーム側のスクリプトエディタを開き、以下の通りトリガーの設定をします。
![画像12](https://assets.st-note.com/production/uploads/images/46805877/picture_pc_400f7b68591aa2b5cb3d93e1253e23d5.png?width=1200)
スプレッドシート側のスクリプトエディタを開き、以下の通りトリガーの設定をします。
![画像13](https://assets.st-note.com/production/uploads/images/46805947/picture_pc_767e216824b057580575b54cf98a067c.png?width=1200)
以上で設定は終了です。
注意点
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
よろしければサポートをお願いします!いただいたサポートは、サービス開発・改善のために使わせていただきます。主に書籍代や勉強会の参加費用などを想定しています。よろしくお願いします。