選択肢を同期し続ける
質問を接続したあとは、有効にするものは何もありません。同期は自動で行われ、最後に実行された時刻はサイドバーに表示されます。
同期が実行されるタイミング
- 質問を接続したとき、すぐに
- サイドバーを開いたとき、静かに実行されるので、シートで加えた編集は見たときにはすでにフォームに反映されています
- 1 時間ごと、バックグラウンドで。フォームやサイドバーを開いているかどうかは関係ありません
- フォームの送信ごと。このとき Taken の数も更新されます
- 歯車メニューの**「すべて同期」を押したとき**
1 時間ごとは、Google がフォーム用アドオンに許可している最も短いバックグラウンド間隔なので、シートの編集がひとりでに反映されるまで最大 1 時間かかることがあります。すぐに反映したい場合はすべて同期を押してください。
フォームタブでアドオンを一時停止している場合、バックグラウンドの同期も止まります。「一時停止中」と表示されているフォームで、1 時間ごとのジョブが質問を書き換え続けるべきではないからです。ご自身ですべて同期を押した場合は動作します。押すこと自体が意思表示だからです。
同期が書き込む内容
同期は質問のタブの A 列と B 列を読み取り、次のことを行います。
- 質問の選択肢を A 列の内容で置き換えます。その際、前後の空白を取り除き、空行を落とし、大文字と小文字を区別しない重複を削除し、Google フォームの上限である 500 個までリストを切り詰めます。質問の**「その他」**の選択肢は保持されます
- 各行の B 列の定員を、その選択肢の上限として保存します
- C 列を、選択肢ごとの現在の申し込み数で書き換えます
そのあとサイドバーの行には、選択肢の数、満員になっている数、そして最後に同期した時刻が表示されます。
定員:ひとりでに閉じる選択肢
B 列に数値が入っていると、アドオンは届く回答を見張ります。
- 選択肢が定員に達すると、その選択肢は自動的にフォームから削除されます。タイミングは通常、その選択肢を埋めた回答から数秒以内です。Google はトリガーを独自のタイマーで実行し、正確な時点を保証するものではないため、ときどき遅れて実行されることもあります。これは Google フォームで動作するすべてのアドオンに当てはまります。この時間内に最後の 1 枠を争った 2 人が、どちらも取れてしまうこともあります。定員は「満員になった選択肢は削除される」ものと考えてください。厳密な保証ではありません
- B 列の数値を増やすと、次回の同期でその選択肢が戻ります
- 0 に設定すると、行を消さずにシート側から選択肢を閉じられます
- すべての選択肢が満員または閉じられている場合、質問は何かが再び開くまで「No spots available」というプレースホルダー 1 つだけを表示します
覚えておきたいことが 2 つあります。
- 定員は行で対応づけられます。 B5 の数値は A5 にある選択肢に上限をかけます。B 列を並べ替えずに A 列だけを並べ替えると、すべての上限が間違った選択肢に付きます
- 選択肢の名前を変えると最初からになります。 数は正確な選択肢のテキストに結びついているため、「ロボット工学ラボ」を「ロボット工学 101」に変更すると、その選択肢は申し込み 0 件から数え直しになります
同期が失敗したとき
同期が質問を壊れたまま放置することはありません。完了できなかった場合、質問は現在の選択肢を保ち、サイドバーのその行に理由が表示されます。
- 「「Options」列が空です」 - A 列に使える値がないため、質問はそのままにされました。選択肢を追加して、もう一度同期してください
- 「このタブのレイアウトが変更されています(A 列は「Options」である必要があります)」 - セル A1 が
Optionsではなくなっています。たいていは列が挿入または削除されたためです。タブを直すか、質問の接続を解除してください。アドオンがここで止まるのは意図的で、定員の数値を選択肢としてフォームに書き込まないためです - 「「Options」列に数式エラーがあります」 - あるセルが
#REF!や#N/Aなどになっています。多くは=IMPORTRANGE()が壊れているか、承認されていない場合です。エラーの文字列が選択肢としてフォームに書き込まれることはありません。選択肢シートで数式を直して、もう一度同期してください - 「選択肢シートを読み取れません」 - ファイルがなくなったか、アドオンがアクセス権を失いました。Drive にまだあるか確認してください
- 「Google 側の一時的なエラー」 - 少し時間をおいてお試しください。1 時間ごとの同期がひとりでに再試行します
- 「質問を更新できませんでした」 - Google フォームが書き込みを拒否しました。たいていは、質問に特定の選択肢と結びついた回答の検証やセクション分岐が設定されている場合です。フォームエディタでその質問を確認してください。解決するまでその質問の定員は一時停止され、その旨のメールが届くことがあります。定員の一時停止を参照してください
なお、タブが削除された質問はエラーではありません。接続解除として扱われ、行には専用の通知が表示されます。質問を接続するをご覧ください。
フォームのコピー
フォームをコピーすると(Drive の「コピーを作成」)、接続もコピーされますが、Google はバックグラウンドのスケジュールをコピーしません。コピー側で Dynamic Form Choices のサイドバーを一度開くか、何らかの同期を実行すれば、1 時間ごとのスケジュールが自動的に復元されます。
1 つ注意点があります。コピーは自分専用のシートを持つのではなく、元のフォームの選択肢シートを引き継ぎます。そのためコピーから行った操作が、元のフォームが使っているスプレッドシートに届いてしまうことがあります。まっさらな状態から始めたい場合は、まだ何も接続していないフォームからコピーの質問を作ってください。
