皆さんこんにちわ、りなたむです。
お客様の要望で・・・
Power Apps などのアプリを横展開する時のマニュアル送付を受け付けるフォームを作っているけど、アプリの名称を毎回入れてもらうのは大変だし、表記ゆれしちゃうし、にっちもさっちもいかないのでどうにかならない?
というご相談を受けたところ、Microsoft Forms の事前入力済みURL のデモをしてあげたら、「まさにこれだ!」というご回答を得たのと、意外と知られていないことが、以下のポストでの反応でもわかりました。
ので、その事前入力済みURLをもうちょっと深堀してみたいと思います。
そもそも事前入力済みURLとは?
フォームの入力項目を、URLパラメーターを用いて動的に変更することができる機能です。
取得したURLの特定部分を書き換えることで、意図した文字列を自動的に入れるようにすることができます。
書き換える場所は複数の項目に割り当てることもできます。
URL を分析してみる
生成されたURLがどういう風になっているのかを分解してみましょう
https://forms.office.com/Pages/ResponsePage.aspx?
id = T9ssssdddC4u& //FormのID
rf840 = Power%20Platform& //回答項目1つ目(識別子:rf840)の項目
ree28 = Love //回答項目2つ目(識別子:ree28)の項目
このように、事前入力済みURLは、フォームのIDと回答項目ごとの識別子とそれに対応する指定の文字列(URLエンコードされたもの)が組み合わさって構成されています。
これは、URLパラメーターといわれる仕組みを使われているようです。
この仕組みを知っていれば、作成したフォームを、より効率的に使うことができると思います。
使える回答
事前入力済みURLが使用可能な回答はどれか、これも調べてみました。
結論からいうと、ファイルのアップロード以外全て使えます。
一つ一つ見ていきましょう
テキスト
回答識別子 = AAAA
半角英数字の場合はそのままの文字列でいいですが、2バイト文字やスペースなどの制御文字の場合は、それに対応するURLエンコードした文字列に変換する必要があります。
選択肢
回答識別子 = %22B%22
入力したい文字 B
に、%22
を囲った書き方です。
%22
は "
つまりダブルクォートで囲っているということですね。
評価
回答識別子 = 3
ここは、単純に数字でよいみたいです。
確かに評価軸は Power Automate で取得したときも数字ですからね。
日付
回答識別子 = %222025-09-03%22
日付の指定自体は yyyy-MM-dd
形式ですね。
これにダブルクォートで囲っていると考えればよいかと思います。
Net Promoter Score
回答識別子 = 3
ここも評価と同様に数字を入れてあげればよいようです。
ランキングとリッカート
一応URLパラメーターで指定することも可能ではありますが、かなり複雑なので
指定する場合は、Forms上でこの部分を直接指定してURLパラメータを取得したほうがよさそうです。
構成としてはこんな感じです。
回答識別子 = %5B
%7B%22id%22%3A1%2C%22answerOrder%22%3A0%7D%2C
%7B%22id%22%3A3%2C%22answerOrder%22%3A1%7D%2C
%7B%22id%22%3A2%2C%22answerOrder%22%3A2%7D%5D
回答識別子 = %7B
%22Likert行識別子1%22%3A%7B%22id%22%3A1%2C%22key%22%3A%22Likert列識別子3%22%7D%2C
%22Likert行識別子2%22%3A%7B%22id%22%3A2%2C%22key%22%3A%22Likert列識別子2%22%7D%7D
これらのURLパラメーターのURLエンコード表記はこんな感じです
エンコード | 記号 |
---|---|
%22 | " |
%2C | , |
%3A | : |
%5B | [ |
%5D | ] |
%7B | { |
%7D | } |
これらを踏まえて記述すると、以下のようになります
[
{"id":1,"answerOrder":0},
{"id":3,"answerOrder":1},
{"id":2,"answerOrder":2}
]
{
"Likert行識別子1":{"id":1,"key":"Likert列識別子3"},
"Likert行識別子2":{"id":2,"key":"Likert列識別子2"}
}
というJSON構成を表現していたというわけですね。
まとめ
如何でしたでしょうか。
Microsoft Forms の事前入力済みURL を深堀してみると、色々と考えられて作られており、活用の幅は幅広いかなと思います。
ただ、事前入力済みの回答として用いりそうなのは、テキスト、選択肢、日付の3パターンぐらい、あとは用途に応じて評価あたりなのではないかなと思います。
というわけで、ぜひ Microsoft Forms をどんどんご活用ください!