回答編集履歴
9
表現を修正
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
この`placeHolder`という変数は一切使われていませんし、**削除しても影響はありません**。
|
4
4
|
なぜこれが残っているのかは不明ですが、考えられる理由として、
|
5
|
-
・
|
5
|
+
・コード整理の過程で使用しなくなったにもかかわらず、残ったままになっている
|
6
6
|
または
|
7
7
|
・テンプレートファイル中に使われているプレースホルダを明示したメモのようなもの(後述のフォーム作成時の参考にするため)
|
8
8
|
等と推測します。
|
@@ -37,7 +37,7 @@
|
|
37
37
|
form2docxのコードは下記のようにして試すことができます。
|
38
38
|
|
39
39
|
① https://github.com/cowbell-corporation/form2docx/blob/master/template-sample.odt
|
40
|
-
の「Download」ボタンを押して
|
40
|
+
の「Download」ボタンを押して「template-sample.odt」をローカルに保存し、さらにローカルからGoogleドライブにドラッグ&ドロップして保存します。
|
41
41
|
|
42
42
|
|
43
43
|
②保存した「template-sample.odt」をGoogleドライブ上で開くと、Googleドキュメントが起動するので、アドレス欄中のファイルID ([https://docs.google.com/document/d/******/edit](https://docs.google.com/document/d/******/edit) の ⎾*****⏌の部分)を控えておきます。
|
8
test
CHANGED
@@ -71,8 +71,9 @@
|
|
71
71
|
|
72
72
|
⑧ ④で作成したフォームの目のアイコンを押すと、フォームを送信できるようになるので試しに適当にname、email、messageに入力して送信ボタンを押します。
|
73
73
|
(初回のみ権限確認のダイアログが出ますので、承諾します)
|
74
|
-
バグ等がなければ、送信後、Googleドライブに
|
74
|
+
バグ等がなければ、送信後、Googleドライブに新しいGoogleドキュメントファイルができているはずです。
|
75
|
+
このGoogleドキュメントファイルを開くと、プレースホルダの部分がフォームで記入した内容に置き換わっていることが確認できます。
|
75
|
-
また、
|
76
|
+
また、このファイルが添付されたメールがadminEmail宛に送信されます。
|
76
77
|
|
77
78
|
|
78
79
|
---
|
@@ -84,7 +85,7 @@
|
|
84
85
|
|
85
86
|
---
|
86
87
|
|
87
|
-
コードについて
|
88
|
+
**コードについて**
|
88
89
|
|
89
90
|
このコードの肝は、 `createNewGdoc`関数 の下記の部分です。
|
90
91
|
```js
|
7
test
CHANGED
@@ -40,7 +40,7 @@
|
|
40
40
|
の「Download」ボタンを押して、ローカルに保存し、さらにローカルからGoogleドライブにドラッグ&ドロップして保存します。
|
41
41
|
|
42
42
|
|
43
|
-
②保存した「template-sample.odt」をGoogleドライブ上で開くと、Googleドキュメントが起動するので、アドレス欄中のファイルID[https://docs.google.com/document/d/******/edit](https://docs.google.com/document/d/******/edit) の ⎾*****⏌の部分)を控えておきます。
|
43
|
+
②保存した「template-sample.odt」をGoogleドライブ上で開くと、Googleドキュメントが起動するので、アドレス欄中のファイルID ([https://docs.google.com/document/d/******/edit](https://docs.google.com/document/d/******/edit) の ⎾*****⏌の部分)を控えておきます。
|
44
44
|
|
45
45
|
|
46
46
|
③ Googleドライブの左上の+ボタンから、新しいGoogleフォームを作成します。
|
6
test
CHANGED
@@ -102,7 +102,7 @@
|
|
102
102
|
|
103
103
|
---
|
104
104
|
|
105
|
-
※このコードをそのまま流用しても、メール送信先は adminEmail
|
105
|
+
※このコードをそのまま流用しても、メール送信先として使えるのは、 adminEmail に指定したアドレス1つだけです。
|
106
106
|
そのままでは(質問タイトルにあるように)フォーム送信者ごとにメール送信することはできません。
|
107
107
|
|
108
108
|
フォーム送信者にメール送信したい場合は、
|
5
test
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
> ①109行目でkeyとして、置換をしているようですが、placeHolderはどこに行ってしまったのかが疑問です。
|
2
2
|
|
3
|
-
この`placeHolder`という変数は
|
3
|
+
この`placeHolder`という変数は一切使われていませんし、**削除しても影響はありません**。
|
4
|
-
なぜこれが
|
4
|
+
なぜこれが残っているのかは不明ですが、考えられる理由として、
|
5
|
-
・
|
5
|
+
・当初使用されていて、コード整理の過程で使用しなくなったものの、削除し忘れられている
|
6
6
|
または
|
7
|
-
・テンプレートファイル中に使われているプレースホルダを明示し
|
7
|
+
・テンプレートファイル中に使われているプレースホルダを明示したメモのようなもの(後述のフォーム作成時の参考にするため)
|
8
8
|
等と推測します。
|
9
9
|
|
10
10
|
> ②メール送信の変数はどこから?
|
@@ -40,7 +40,7 @@
|
|
40
40
|
の「Download」ボタンを押して、ローカルに保存し、さらにローカルからGoogleドライブにドラッグ&ドロップして保存します。
|
41
41
|
|
42
42
|
|
43
|
-
②保存した「template-sample.odt」をGoogleドライブ上で開くと、Googleドキュメントが起動するので、アドレス欄
|
43
|
+
②保存した「template-sample.odt」をGoogleドライブ上で開くと、Googleドキュメントが起動するので、アドレス欄中のファイルID[https://docs.google.com/document/d/******/edit](https://docs.google.com/document/d/******/edit) の ⎾*****⏌の部分)を控えておきます。
|
44
44
|
|
45
45
|
|
46
46
|
③ Googleドライブの左上の+ボタンから、新しいGoogleフォームを作成します。
|
4
test
CHANGED
@@ -99,3 +99,15 @@
|
|
99
99
|
```
|
100
100
|
この部分で、フォームの質問項目と、その回答内容を取得し、テンプレートファイルの{{}}で囲まれた部分を、回答内容に置換しています。
|
101
101
|
(なお suffixField に指定した質問項目がフォームに存在する場合は、その回答内容がファイル名の末尾に追加されます。)
|
102
|
+
|
103
|
+
---
|
104
|
+
|
105
|
+
※このコードをそのまま流用しても、メール送信先は adminEmail 1個に固定されます。
|
106
|
+
そのままでは(質問タイトルにあるように)フォーム送信者ごとにメール送信することはできません。
|
107
|
+
|
108
|
+
フォーム送信者にメール送信したい場合は、
|
109
|
+
・フォームの「設定」から「メールアドレスを収集する」にチェックを入れ、
|
110
|
+
・フォーム送信者のメールアドレスをコード中で取得し、
|
111
|
+
・そのアドレスを sendEmail 関数のrecipientに指定する
|
112
|
+
という方法になろうかと思います。
|
113
|
+
|
3
test
CHANGED
@@ -34,7 +34,7 @@
|
|
34
34
|
---
|
35
35
|
**・そもそもこのform2docxをどうやって使うのか?どうカスタマイズすればいいのか?**
|
36
36
|
|
37
|
-
form2docxのコードは下記のようにして
|
37
|
+
form2docxのコードは下記のようにして試すことができます。
|
38
38
|
|
39
39
|
① https://github.com/cowbell-corporation/form2docx/blob/master/template-sample.odt
|
40
40
|
の「Download」ボタンを押して、ローカルに保存し、さらにローカルからGoogleドライブにドラッグ&ドロップして保存します。
|
2
test
CHANGED
@@ -55,7 +55,7 @@
|
|
55
55
|

|
56
56
|
|
57
57
|
|
58
|
-
⑥ コード中の fileId に、②で控えた template-sample.odt のファイルIDを
|
58
|
+
⑥ コード中の fileId に、②で控えた template-sample.odt のファイルIDを、
|
59
59
|
adminEmailに、送信先メールアドレスを、それぞれ指定します。
|
60
60
|
|
61
61
|
|
@@ -80,3 +80,22 @@
|
|
80
80
|
**カスタマイズの方法:**
|
81
81
|
テンプレートファイルの{{ }}で囲まれた部分がプレースホルダですので、これを任意の語に変えます。
|
82
82
|
またフォームの質問項目も、テンプレートファイルのプレースホルダに指定した語と同じものに編集します(大文字小文字は区別されるので注意)
|
83
|
+
|
84
|
+
|
85
|
+
---
|
86
|
+
|
87
|
+
コードについて
|
88
|
+
|
89
|
+
このコードの肝は、 `createNewGdoc`関数 の下記の部分です。
|
90
|
+
```js
|
91
|
+
itemResponses.forEach(function (itemResponse) {
|
92
|
+
key = itemResponse.getItem().getTitle();
|
93
|
+
value = itemResponse.getResponse();
|
94
|
+
newGdocBody = newGdocBody.replaceText(`{{${key}}}`, value);
|
95
|
+
if (key === suffixField) {
|
96
|
+
fileSuffix = value;
|
97
|
+
}
|
98
|
+
});
|
99
|
+
```
|
100
|
+
この部分で、フォームの質問項目と、その回答内容を取得し、テンプレートファイルの{{}}で囲まれた部分を、回答内容に置換しています。
|
101
|
+
(なお suffixField に指定した質問項目がフォームに存在する場合は、その回答内容がファイル名の末尾に追加されます。)
|
1
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
なぜこれがあるのかは不明ですが、考えられる理由として、
|
5
5
|
・作者が何か別の目的があって書いていたのを、コード整理の過程で消し忘れただけ
|
6
6
|
または
|
7
|
-
・テンプレートファイル中に使われているプレースホルダを
|
7
|
+
・テンプレートファイル中に使われているプレースホルダを明示しているメモのようなもの(後述のフォーム作成時の参考にするため?)
|
8
8
|
等と推測します。
|
9
9
|
|
10
10
|
> ②メール送信の変数はどこから?
|