5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Microsoft Forms の 事前入力済みURL を深堀してみた

Posted at

皆さんこんにちわ、りなたむです。
お客様の要望で・・・

Power Apps などのアプリを横展開する時のマニュアル送付を受け付けるフォームを作っているけど、アプリの名称を毎回入れてもらうのは大変だし、表記ゆれしちゃうし、にっちもさっちもいかないのでどうにかならない?

というご相談を受けたところ、Microsoft Forms の事前入力済みURL のデモをしてあげたら、「まさにこれだ!」というご回答を得たのと、意外と知られていないことが、以下のポストでの反応でもわかりました。

ので、その事前入力済みURLをもうちょっと深堀してみたいと思います。

そもそも事前入力済みURLとは?

フォームの入力項目を、URLパラメーターを用いて動的に変更することができる機能です。

image.png

image.png

image.png

取得したURLの特定部分を書き換えることで、意図した文字列を自動的に入れるようにすることができます。

image.png

書き換える場所は複数の項目に割り当てることもできます。

image.png

URL を分析してみる

生成されたURLがどういう風になっているのかを分解してみましょう

Forms 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が使用可能な回答はどれか、これも調べてみました。
結論からいうと、ファイルのアップロード以外全て使えます。

image.png

image.png

一つ一つ見ていきましょう

テキスト

image.png

Text Type
回答識別子 = AAAA

半角英数字の場合はそのままの文字列でいいですが、2バイト文字やスペースなどの制御文字の場合は、それに対応するURLエンコードした文字列に変換する必要があります。

選択肢

image.png

Choices Type
回答識別子 = %22B%22

入力したい文字 B に、%22 を囲った書き方です。
%22" つまりダブルクォートで囲っているということですね。

評価

image.png

Score Type
回答識別子 = 3

ここは、単純に数字でよいみたいです。
確かに評価軸は Power Automate で取得したときも数字ですからね。

日付

image.png

Score Type
回答識別子 = %222025-09-03%22

日付の指定自体は yyyy-MM-dd 形式ですね。
これにダブルクォートで囲っていると考えればよいかと思います。

Net Promoter Score

image.png

Net Promoter Score Type
回答識別子 = 3

ここも評価と同様に数字を入れてあげればよいようです。

ランキングとリッカート

image.png

一応URLパラメーターで指定することも可能ではありますが、かなり複雑なので
指定する場合は、Forms上でこの部分を直接指定してURLパラメータを取得したほうがよさそうです。

構成としてはこんな感じです。

Ranking Type (見やすくするために改行)
回答識別子 = %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
Likert Type (見やすくするために改行)
回答識別子 = %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 }

これらを踏まえて記述すると、以下のようになります

Ranking Type
[
    {"id":1,"answerOrder":0},
    {"id":3,"answerOrder":1},
    {"id":2,"answerOrder":2}
]
Likert Type
{
    "Likert行識別子1":{"id":1,"key":"Likert列識別子3"},
    "Likert行識別子2":{"id":2,"key":"Likert列識別子2"}
}

というJSON構成を表現していたというわけですね。

まとめ

如何でしたでしょうか。
Microsoft Forms の事前入力済みURL を深堀してみると、色々と考えられて作られており、活用の幅は幅広いかなと思います。
ただ、事前入力済みの回答として用いりそうなのは、テキスト、選択肢、日付の3パターンぐらい、あとは用途に応じて評価あたりなのではないかなと思います。

というわけで、ぜひ Microsoft Forms をどんどんご活用ください!

5
5
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?