回答編集履歴

9

表現を修正

2022/02/21 11:12

投稿

退会済みユーザー
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」ボタンを押してローカルに保存し、さらにローカルからGoogleドライブにドラッグ&ドロップして保存します。
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

 

2022/01/27 21:24

投稿

退会済みユーザー
test CHANGED
@@ -71,8 +71,9 @@
71
71
 
72
72
  ⑧ ④で作成したフォームの目のアイコンを押すと、フォームを送信できるようになるので試しに適当にname、email、messageに入力して送信ボタンを押します。
73
73
  (初回のみ権限確認のダイアログが出ますので、承諾します)
74
- バグ等がなければ、送信後、Googleドライブに、テンプレートファイルのプレースホルダの部分が、フォームで記入た内容に置き換わったGoogleドキュメントファイルができているはずです。
74
+ バグ等がなければ、送信後、GoogleドライブにGoogleドキュメントファイルができているはずです。
75
+ このGoogleドキュメントファイルを開くと、プレースホルダの部分がフォームで記入した内容に置き換わっていることが確認できます。
75
- また、入力された内容のメールがadminEmailに指定したメールアドレス宛に届くはずです。
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

 

2022/01/27 12:26

投稿

退会済みユーザー
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

 

2022/01/27 12:24

投稿

退会済みユーザー
test CHANGED
@@ -102,7 +102,7 @@
102
102
 
103
103
  ---
104
104
 
105
- ※このコードをそのまま流用しても、メール送信先は adminEmail 1個されます。
105
+ ※このコードをそのまま流用しても、メール送信先として使えるの adminEmail にしたアドレス1つだけです。
106
106
  そのままでは(質問タイトルにあるように)フォーム送信者ごとにメール送信することはできません。
107
107
   
108
108
  フォーム送信者にメール送信したい場合は、

5

 

2022/01/27 12:22

投稿

退会済みユーザー
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ドキュメントが起動するので、アドレス欄にあるドキュメント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フォームを作成します。

4

  

2022/01/27 11:20

投稿

退会済みユーザー
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

 

2022/01/27 11:15

投稿

退会済みユーザー
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

 

2022/01/27 11:14

投稿

退会済みユーザー
test CHANGED
@@ -55,7 +55,7 @@
55
55
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-01-27/959c79bd-d5d1-4bdb-9552-00237c3752e5.png)
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

 

2022/01/27 11:07

投稿

退会済みユーザー
test CHANGED
@@ -4,7 +4,7 @@
4
4
  なぜこれがあるのかは不明ですが、考えられる理由として、
5
5
  ・作者が何か別の目的があって書いていたのを、コード整理の過程で消し忘れただけ
6
6
  または
7
- ・テンプレートファイル中に使われているプレースホルダを指定しているメモのようなもの(後述のフォーム作成時の参考にするため?)
7
+ ・テンプレートファイル中に使われているプレースホルダを明示しているメモのようなもの(後述のフォーム作成時の参考にするため?)
8
8
  等と推測します。
9
9
   
10
10
  > ②メール送信の変数はどこから?