回答編集履歴
7
修正
test
CHANGED
@@ -20,14 +20,22 @@
|
|
20
20
|
function setSectionHeader() {
|
21
21
|
var form = FormApp.getActiveForm();
|
22
22
|
var items = form.getItems();
|
23
|
+
var counter = 0;
|
23
24
|
// フォーム内の要素を全部列挙する。
|
24
25
|
for (var i = 0; i < items.length; i++) {
|
25
26
|
item = items[i];
|
26
|
-
// タイトルと説明 (セクションヘッダ)
|
27
|
+
// アイテムのタイプが「タイトルと説明」 (セクションヘッダ)の場合
|
27
28
|
if (item.getType() == 'SECTION_HEADER') {
|
28
29
|
var sectionHeaderItem = item.asSectionHeaderItem();
|
30
|
+
if (counter === 0){
|
29
|
-
sectionHeaderItem.setTitle("ここにタイトルを入れる");;
|
31
|
+
sectionHeaderItem.setTitle("ここに1番目のタイトルを入れる");;
|
30
|
-
sectionHeaderItem.setHelpText("ここに説明文を入れる")
|
32
|
+
sectionHeaderItem.setHelpText("ここに1番目の説明文を入れる")
|
33
|
+
counter++;
|
34
|
+
}
|
35
|
+
else if (counter === 1){
|
36
|
+
sectionHeaderItem.setTitle("ここに2番目のタイトルを入れる");;
|
37
|
+
sectionHeaderItem.setHelpText("ここに2番目の説明文を入れる")
|
38
|
+
}
|
31
39
|
}
|
32
40
|
}
|
33
41
|
}
|
6
修正
test
CHANGED
@@ -11,10 +11,8 @@
|
|
11
11
|
ややこしいんですが、Googleフォームにおいて、タイトルと説明文を設定できるものは、実は以下の**3種類**あります。
|
12
12
|
・フォームの1番上にあるタイトル(時に「セクション」という名前にもなる)→これを変更するのは、修正前の上のコード。
|
13
13
|
・ページブレイクアイテム(任意の場所に挿入できる)
|
14
|
-
・セクションヘッダ(任意の場所に挿入できる)
|
14
|
+
・セクションヘッダ(タイトルと説明)(任意の場所に挿入できる)=
|
15
15
|
|
16
|
-
「どの部分のタイトル・説明文を変えたいのか」を画像キャプチャで示していただくのが一番確実ですが、
|
17
|
-
2番目・3番目のページブレイクアイテム/セクションヘッダどちらにも対応したコードは、下記です。
|
18
16
|
|
19
17
|
GASでは、アイテムを全部列挙して、そのアイテムがどのタイプかを調べたうえで、アイテムに応じた処理をする、という泥臭いやり方になります。
|
20
18
|
|
@@ -25,16 +23,11 @@
|
|
25
23
|
// フォーム内の要素を全部列挙する。
|
26
24
|
for (var i = 0; i < items.length; i++) {
|
27
25
|
item = items[i];
|
28
|
-
// セクションヘッダ
|
26
|
+
// タイトルと説明 (セクションヘッダ)
|
29
27
|
if (item.getType() == 'SECTION_HEADER') {
|
30
28
|
var sectionHeaderItem = item.asSectionHeaderItem();
|
31
29
|
sectionHeaderItem.setTitle("ここにタイトルを入れる");;
|
32
30
|
sectionHeaderItem.setHelpText("ここに説明文を入れる")
|
33
|
-
}
|
34
|
-
// ページブレイクアイテムであれば、ページブレイクアイテムとしてタイトルと説明文を変更する。
|
35
|
-
if (item.getType() == 'PAGE_BREAK') {
|
36
|
-
item.setTitle("ここにタイトルを入れる");;
|
37
|
-
item.setHelpText("ここに説明文を入れる")
|
38
31
|
}
|
39
32
|
}
|
40
33
|
}
|
5
修正
test
CHANGED
@@ -22,15 +22,16 @@
|
|
22
22
|
function setSectionHeader() {
|
23
23
|
var form = FormApp.getActiveForm();
|
24
24
|
var items = form.getItems();
|
25
|
+
// フォーム内の要素を全部列挙する。
|
25
26
|
for (var i = 0; i < items.length; i++) {
|
26
27
|
item = items[i];
|
27
|
-
// セクションヘッダ
|
28
|
+
// セクションヘッダであれば、セクションヘッダとしてタイトルと説明文を変更する。
|
28
29
|
if (item.getType() == 'SECTION_HEADER') {
|
29
30
|
var sectionHeaderItem = item.asSectionHeaderItem();
|
30
31
|
sectionHeaderItem.setTitle("ここにタイトルを入れる");;
|
31
32
|
sectionHeaderItem.setHelpText("ここに説明文を入れる")
|
32
33
|
}
|
33
|
-
// ページブレイクアイテム
|
34
|
+
// ページブレイクアイテムであれば、ページブレイクアイテムとしてタイトルと説明文を変更する。
|
34
35
|
if (item.getType() == 'PAGE_BREAK') {
|
35
36
|
item.setTitle("ここにタイトルを入れる");;
|
36
37
|
item.setHelpText("ここに説明文を入れる")
|
4
修正
test
CHANGED
@@ -15,20 +15,23 @@
|
|
15
15
|
|
16
16
|
「どの部分のタイトル・説明文を変えたいのか」を画像キャプチャで示していただくのが一番確実ですが、
|
17
17
|
2番目・3番目のページブレイクアイテム/セクションヘッダどちらにも対応したコードは、下記です。
|
18
|
+
|
19
|
+
GASでは、アイテムを全部列挙して、そのアイテムがどのタイプかを調べたうえで、アイテムに応じた処理をする、という泥臭いやり方になります。
|
20
|
+
|
18
21
|
```js
|
19
22
|
function setSectionHeader() {
|
20
23
|
var form = FormApp.getActiveForm();
|
21
24
|
var items = form.getItems();
|
22
25
|
for (var i = 0; i < items.length; i++) {
|
23
26
|
item = items[i];
|
27
|
+
// セクションヘッダのタイトルと説明文を変更する。
|
24
28
|
if (item.getType() == 'SECTION_HEADER') {
|
25
29
|
var sectionHeaderItem = item.asSectionHeaderItem();
|
26
30
|
sectionHeaderItem.setTitle("ここにタイトルを入れる");;
|
27
31
|
sectionHeaderItem.setHelpText("ここに説明文を入れる")
|
28
32
|
}
|
33
|
+
// ページブレイクアイテムのタイトルと説明文を変更する。
|
29
34
|
if (item.getType() == 'PAGE_BREAK') {
|
30
|
-
console.log("PAGE_BREAK")
|
31
|
-
|
32
35
|
item.setTitle("ここにタイトルを入れる");;
|
33
36
|
item.setHelpText("ここに説明文を入れる")
|
34
37
|
}
|
3
修正
test
CHANGED
@@ -7,12 +7,12 @@
|
|
7
7
|
```
|
8
8
|
|
9
9
|
<修正>
|
10
|
-
タイトルと説明文を設定できるものは以下の3種類あります。
|
11
|
-
・1番上にある部分→これを変更するのは、上のコード。
|
12
|
-
・ページブレイクアイテム
|
13
|
-
・セクションヘッダ
|
14
10
|
|
15
|
-
|
11
|
+
ややこしいんですが、Googleフォームにおいて、タイトルと説明文を設定できるものは、実は以下の**3種類**あります。
|
12
|
+
・フォームの1番上にあるタイトル(時に「セクション」という名前にもなる)→これを変更するのは、修正前の上のコード。
|
13
|
+
・ページブレイクアイテム(任意の場所に挿入できる)
|
14
|
+
・セクションヘッダ(任意の場所に挿入できる)
|
15
|
+
|
16
16
|
「どの部分のタイトル・説明文を変えたいのか」を画像キャプチャで示していただくのが一番確実ですが、
|
17
17
|
2番目・3番目のページブレイクアイテム/セクションヘッダどちらにも対応したコードは、下記です。
|
18
18
|
```js
|
2
修正
test
CHANGED
@@ -7,7 +7,14 @@
|
|
7
7
|
```
|
8
8
|
|
9
9
|
<修正>
|
10
|
+
タイトルと説明文を設定できるものは以下の3種類あります。
|
11
|
+
・1番上にある部分→これを変更するのは、上のコード。
|
12
|
+
・ページブレイクアイテム
|
13
|
+
・セクションヘッダ
|
14
|
+
|
15
|
+
**これらは同じ形・色・レイアウトであるため、文章だけでは区別できません。**
|
10
|
-
|
16
|
+
「どの部分のタイトル・説明文を変えたいのか」を画像キャプチャで示していただくのが一番確実ですが、
|
17
|
+
2番目・3番目のページブレイクアイテム/セクションヘッダどちらにも対応したコードは、下記です。
|
11
18
|
```js
|
12
19
|
function setSectionHeader() {
|
13
20
|
var form = FormApp.getActiveForm();
|
@@ -19,33 +26,14 @@
|
|
19
26
|
sectionHeaderItem.setTitle("ここにタイトルを入れる");;
|
20
27
|
sectionHeaderItem.setHelpText("ここに説明文を入れる")
|
21
28
|
}
|
22
|
-
}
|
23
|
-
}
|
24
|
-
```
|
25
|
-
|
26
|
-
1番目のセクションヘッダのタイトル・説明と2番目のタイトル・説明...というように、セクションヘッダに応じて変えたい場合は下記のようにすればよいです。
|
27
|
-
注意:必ずしも上から1番目・2番目...とはなりません。セクションヘッダの追加順序によっては順不同になります。したがって実際に実行して試す必要があります。
|
28
|
-
```js
|
29
|
-
function setSectionHeader() {
|
30
|
-
var form = FormApp.getActiveForm();
|
31
|
-
var items = form.getItems();
|
32
|
-
counter = 0;
|
33
|
-
for (var i = 0; i < items.length; i++) {
|
34
|
-
item = items[i];
|
35
|
-
if (item.getType() == '
|
29
|
+
if (item.getType() == 'PAGE_BREAK') {
|
36
|
-
|
30
|
+
console.log("PAGE_BREAK")
|
37
|
-
|
31
|
+
|
38
|
-
|
32
|
+
item.setTitle("ここにタイトルを入れる");;
|
39
|
-
|
33
|
+
item.setHelpText("ここに説明文を入れる")
|
40
|
-
counter++;
|
41
|
-
}
|
42
|
-
if (counter == 1){
|
43
|
-
sectionHeaderItem.setTitle("2番目のタイトル");;
|
44
|
-
sectionHeaderItem.setHelpText("2番目の説明文")
|
45
|
-
counter++;
|
46
|
-
}
|
47
34
|
}
|
48
35
|
}
|
49
36
|
}
|
50
37
|
```
|
51
38
|
|
39
|
+
|
1
修正
test
CHANGED
@@ -5,3 +5,47 @@
|
|
5
5
|
form.setDescription("ここに説明文を入れる");
|
6
6
|
}
|
7
7
|
```
|
8
|
+
|
9
|
+
<修正>
|
10
|
+
たとえば、すべてのセクションヘッダのタイトルを同じ内容にしたいなら、下記のようにすればよいです。
|
11
|
+
```js
|
12
|
+
function setSectionHeader() {
|
13
|
+
var form = FormApp.getActiveForm();
|
14
|
+
var items = form.getItems();
|
15
|
+
for (var i = 0; i < items.length; i++) {
|
16
|
+
item = items[i];
|
17
|
+
if (item.getType() == 'SECTION_HEADER') {
|
18
|
+
var sectionHeaderItem = item.asSectionHeaderItem();
|
19
|
+
sectionHeaderItem.setTitle("ここにタイトルを入れる");;
|
20
|
+
sectionHeaderItem.setHelpText("ここに説明文を入れる")
|
21
|
+
}
|
22
|
+
}
|
23
|
+
}
|
24
|
+
```
|
25
|
+
|
26
|
+
1番目のセクションヘッダのタイトル・説明と2番目のタイトル・説明...というように、セクションヘッダに応じて変えたい場合は下記のようにすればよいです。
|
27
|
+
注意:必ずしも上から1番目・2番目...とはなりません。セクションヘッダの追加順序によっては順不同になります。したがって実際に実行して試す必要があります。
|
28
|
+
```js
|
29
|
+
function setSectionHeader() {
|
30
|
+
var form = FormApp.getActiveForm();
|
31
|
+
var items = form.getItems();
|
32
|
+
counter = 0;
|
33
|
+
for (var i = 0; i < items.length; i++) {
|
34
|
+
item = items[i];
|
35
|
+
if (item.getType() == 'SECTION_HEADER') {
|
36
|
+
var sectionHeaderItem = item.asSectionHeaderItem();
|
37
|
+
if (counter == 0){
|
38
|
+
sectionHeaderItem.setTitle("1番目のタイトル");;
|
39
|
+
sectionHeaderItem.setHelpText("1番目の説明文")
|
40
|
+
counter++;
|
41
|
+
}
|
42
|
+
if (counter == 1){
|
43
|
+
sectionHeaderItem.setTitle("2番目のタイトル");;
|
44
|
+
sectionHeaderItem.setHelpText("2番目の説明文")
|
45
|
+
counter++;
|
46
|
+
}
|
47
|
+
}
|
48
|
+
}
|
49
|
+
}
|
50
|
+
```
|
51
|
+
|