回答編集履歴
2
あ
test
CHANGED
@@ -52,4 +52,4 @@
|
|
52
52
|
|
53
53
|
|
54
54
|
|
55
|
-
これだと 2
|
55
|
+
これだと 236 問作られるので、quizDat をシャッフルして先頭100個をとれば100点の問題が作れると思います。
|
1
a
test
CHANGED
@@ -1 +1,55 @@
|
|
1
1
|
今の質問の状態でできる回答は、[ドキュメント](https://developers.google.com/apps-script/reference/forms/form-app)を見てください、しかないです。
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
解決しないし、コメントもないので、妄想で補足。
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
- form をテストにする
|
10
|
+
|
11
|
+
- 必須にし、1 点とする
|
12
|
+
|
13
|
+
- 5択で B-G列があるということは、 G 列は正解を表現するデータではないかと推測し、B-Fのうち G と同じものは正解とマーク
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
の対応を行いました。
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
```javascript
|
22
|
+
|
23
|
+
const q255852 = () => {
|
24
|
+
|
25
|
+
const vals = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
|
26
|
+
|
27
|
+
const title = vals[0][0];
|
28
|
+
|
29
|
+
const description = vals[1][0];
|
30
|
+
|
31
|
+
const quizDat = vals.slice(4);
|
32
|
+
|
33
|
+
const form = createQuizForm(title,description);
|
34
|
+
|
35
|
+
quizDat.forEach(([n,...c])=> {
|
36
|
+
|
37
|
+
const t = c.slice(-1);
|
38
|
+
|
39
|
+
const item = form.addMultipleChoiceItem().setTitle(n).setRequired(true).setPoints(1);
|
40
|
+
|
41
|
+
const choices = c.slice(0,-1).map(e=>e===t?item.createChoice(e,true):item.createChoice(e,false));
|
42
|
+
|
43
|
+
item.setChoices(choices);
|
44
|
+
|
45
|
+
})
|
46
|
+
|
47
|
+
}
|
48
|
+
|
49
|
+
const createQuizForm = (title,description) => FormApp.create(title).setDescription(description).setIsQuiz(true);
|
50
|
+
|
51
|
+
```
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
これだと 246 問作られるので、quizDat をシャッフルして先頭100個をとれば100点の問題が作れると思います。
|