Apps Scriptリファレンス: Apps Script Reference |障害・課題追跡: IssueTracker |Google Workspace: Status Dashboard - Summary

2025年5月15日木曜日

Google Formsで入力済のフォームを作りたい(UI操作)


Googleフォームでは事前入力したフォームを作って共有することができます

公式のガイドでは
毎日のタスクや評価など、同じフォームの質問を繰り返し使用する場合は、フォームの一部に事前に回答を入力して送信すれば、より速く回答を終えることができます。
と書かれていました


今回はその使用方法とは異なりますが


で作ったクイズモードのフォームを使って

答えが選択されているフォームを作ってみます


ちなみに この機能は Apps Script の FormApp ではサポートされていないようです→下記Tips



事前入力の手順


フォームの編集画面で右上の︙メニューから「フォームに事前入力する」を選びます



正解を選択して「リンクを取得」をクリックします



下部に現れる「リンクをコピー」ボタンをクリックします



コピーしたリンクにアクセスすると

正解が選択されたフォームが開きます




Tips: Apps Script ではサポートされていないことの確認

事前入力したフォームで「リンクをコピー」したURLをみるとパラメータがついていました
(フォームを開くとパラメーターはなくなる)

事前入力していない通常フォームのURL


事前入力したフォームのURL


URLパラメーター
?usp=pp_url&entry.581433162=Tokyo&entry.1223252323=Canberra

その中の Tokyo や Canberra を Kyoto や Sydney など他の選択肢に変えると

事前入力のフォームでも変更した値が選択されました


URLパラメーターの中にある 581433162 や 1223252323 が質問を特定しているっぽい

Developer Tools で質問の要素を見ていくと
input要素のname属性に entry.1223252323_sentinel という値が入っていました



けれどその値は Apps Script では取得できないみたいです


Apps Script では質問のIDを取得することができるので

フォーム内にある2つの質問のIDを取得してみましたが 

581433162 や 1223252323 は返ってきませんでした

Google Formの質問項目を取得する の get_items() で出力したログ
[
{
"id": 1105145940,
"type": "MULTIPLE_CHOICE",
"index": 0.0,
"title": "What is the capital of Japan?",
"text": null
},
{
"type": "MULTIPLE_CHOICE",
"index": 1.0,
"id": 1381537534,
"title": "What is the capital of Australia?",
"text": null
}
]



Reference

Pre-fill answers in a form



関連記事


Google Formの質問項目を取得する 

Latest post

スプレッドシートの空白セルを直前の値で埋めたい

A列の空白セルに直前の値を入れたくて書いたコードです スプレッドシートに以下のようなBeforeの表があるとき (A列に空白セルがある) Before 1 A B 2 エリア 都市 3 東京 新宿 4 渋谷 5 池袋 6 神奈川 横浜 7 川崎 8 相模原 9 千葉 千葉 10 ...