質問編集履歴
4
細かい修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -23,7 +23,7 @@
|
|
23
23
|
|
24
24
|
## ③該当のソースコード
|
25
25
|
|
26
|
-
```
|
26
|
+
```JavaScript
|
27
27
|
function mailHTML3() {
|
28
28
|
|
29
29
|
let ss = SpreadsheetApp.getActiveSpreadsheet();
|
@@ -53,11 +53,6 @@
|
|
53
53
|
let name = data[i][4]; // 宛名
|
54
54
|
let body = data[i][5]; // 本文
|
55
55
|
let subject = data[i][6]; // 件名
|
56
|
-
let appoDate = data[i][7]; // アポ候補日時
|
57
|
-
let signature = data[i][8]; // 署名欄
|
58
|
-
let sender_name = data[i][9]; // 送信者_姓
|
59
|
-
let card_ex = data[i][10]; // 名刺交換者_姓
|
60
|
-
let talk = data[i][11]; // 展示会でのやり取り
|
61
56
|
|
62
57
|
|
63
58
|
//企業名の置き換え
|
@@ -66,22 +61,10 @@
|
|
66
61
|
body = body.replace(/{{宛名}}/g,name);
|
67
62
|
//宛名_姓の置き換え
|
68
63
|
body = body.replace(/{{宛名_姓}}/g,family_name);
|
69
|
-
//アポ候補日時の置き換え
|
70
|
-
body = body.replace(/{{アポ候補日時}}/g,appoDate);
|
71
64
|
//署名欄の置き換え
|
72
65
|
body = body.replace(/{{署名欄}}/g,signature);
|
73
66
|
//件名の宛名_姓の置き換え
|
74
67
|
subject = subject.replace(/{{宛名_姓}}/g,family_name);
|
75
|
-
//アポ候補日時の置き換え
|
76
|
-
body = body.replace(/{{送信者_姓}}/g,sender_name);
|
77
|
-
//アポ候補日時の置き換え
|
78
|
-
body = body.replace(/{{名刺交換者_姓}}/g,card_ex);
|
79
|
-
//アポ候補日時の置き換え
|
80
|
-
body = body.replace(/{{展示会でのやり取り}}/g,talk);
|
81
|
-
// //アポ候補日時の置き換え
|
82
|
-
// body = body.replace(/{{アポ候補日時}}/g,appoDate);
|
83
|
-
// //アポ候補日時の置き換え
|
84
|
-
// body = body.replace(/{{アポ候補日時}}/g,appoDate);
|
85
68
|
|
86
69
|
|
87
70
|
body_html = body
|
@@ -102,21 +85,18 @@
|
|
102
85
|
いつもお世話になっております。
|
103
86
|
株式会社●●の {{送信者_姓}} と申します。
|
104
87
|
|
105
|
-
{{宛名_姓}} 様には、以前我々のメンバー {{名刺交換者_姓}}と
|
88
|
+
{{宛名_姓}} 様には、以前我々のメンバー {{名刺交換者_姓}}とやり取りがございましたので、
|
106
89
|
今回はお得な情報をお伝えいたします。
|
107
90
|
|
108
91
|
|
109
|
-
## ⑤
|
92
|
+
## ⑤追記情報1(7/12 13:20)
|
110
93
|
|
111
|
-

|
112
|
-
|
113
|
-
|
114
|
-
## ⑥追記情報1(7/12 13:20)
|
115
|
-
|
116
94
|
おかげさまでスプレッドシート状のデータとのリプレイスと、スタイルの適用は対応できました。
|
117
95
|
|
96
|
+
<入力スプレッドシート>
|
118
97
|

|
119
98
|
|
99
|
+
<Gmail下書き>
|
120
100
|

|
121
101
|
|
122
102
|
あとは現在添付されている画像をインライン表示できれば万々歳なのですが、
|
@@ -128,7 +108,7 @@
|
|
128
108
|
この辺についてもう少しかみ砕いてご助言をいただけますと大変ありがたいのですが....
|
129
109
|
|
130
110
|
|
131
|
-
##
|
111
|
+
## ⑤追記情報2(7/12 15:15)※希望通りのものが実現できました
|
132
112
|
|
133
113
|
※RichTextAppという教えていただいたライブラリを事前にインストール済
|
134
114
|
https://github.com/tanaikech/RichTextApp#richtexttohtmlforspreadsheet
|
@@ -156,7 +136,6 @@
|
|
156
136
|
// let body = data[i][5]; // 本文 ※今回は使用せず。プレーンテキストの場合はこれでもOK
|
157
137
|
let body = RichTextApp.RichTextToHTMLForSpreadsheet({range : sheet.getRange('F3')});
|
158
138
|
let subject = data[i][6]; // 件名
|
159
|
-
let appoDate = data[i][7]; // アポ候補日時
|
160
139
|
|
161
140
|
|
162
141
|
//スプレッドシートの本分内の{{プレースホルダ}}の中身の置き換え(一部)
|
@@ -185,15 +164,13 @@
|
|
185
164
|
}
|
186
165
|
```
|
187
166
|
|
188
|
-
|
167
|
+
<入力スプレッドシート>
|
189
168
|

|
190
169
|
|
170
|
+
<Gmail下書き>
|
191
171
|

|
192
172
|
|
193
173
|
|
194
|
-
## ⑥追記情報3
|
195
174
|
|
196
175
|
|
197
|
-
|
198
|
-
|
199
176
|
ここにより詳細な情報を記載してください。
|
3
おかげさまで希望通りのものが実現できそうですので結果を「追記事項2」にまとめました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -128,9 +128,69 @@
|
|
128
128
|
この辺についてもう少しかみ砕いてご助言をいただけますと大変ありがたいのですが....
|
129
129
|
|
130
130
|
|
131
|
-
## ⑥追記情報2
|
131
|
+
## ⑥追記情報2(7/12 15:15)※希望通りのものが実現できました
|
132
132
|
|
133
|
+
※RichTextAppという教えていただいたライブラリを事前にインストール済
|
134
|
+
https://github.com/tanaikech/RichTextApp#richtexttohtmlforspreadsheet
|
133
135
|
|
136
|
+
```JavaScript
|
137
|
+
|
138
|
+
function gmAuto(){
|
139
|
+
let ss = SpreadsheetApp.openById("スプレッドシートのID");
|
140
|
+
let sheet = ss.getSheets()[6];
|
141
|
+
let range = sheet.getDataRange();
|
142
|
+
let data = range.getValues();
|
143
|
+
|
144
|
+
|
145
|
+
//Googleドライブから画像を取得する。
|
146
|
+
const imgA = DriveApp.getFileById('インラインに挿入する画像のID').getBlob();
|
147
|
+
|
148
|
+
|
149
|
+
// 情報を取りたいi行目がスプレッドシートの3行目から始まるので0,1,2の「2」からスタート
|
150
|
+
for(let i = 2; i < data.length; i++){
|
151
|
+
|
152
|
+
let recipient = data[i][0]; // 宛先
|
153
|
+
let company = data[i][1]; // 企業名
|
154
|
+
let family_name = data[i][2]; // 宛名_姓
|
155
|
+
let name = data[i][4]; // 宛名
|
156
|
+
// let body = data[i][5]; // 本文 ※今回は使用せず。プレーンテキストの場合はこれでもOK
|
157
|
+
let body = RichTextApp.RichTextToHTMLForSpreadsheet({range : sheet.getRange('F3')});
|
158
|
+
let subject = data[i][6]; // 件名
|
159
|
+
let appoDate = data[i][7]; // アポ候補日時
|
160
|
+
|
161
|
+
|
162
|
+
//スプレッドシートの本分内の{{プレースホルダ}}の中身の置き換え(一部)
|
163
|
+
body = body.replace(/{{企業名}}/g,company);
|
164
|
+
body = body.replace(/{{宛名}}/g,name);
|
165
|
+
body = body.replace(/{{宛名_姓}}/g,family_name);
|
166
|
+
body = body.replace(/{{アポ候補日時}}/g,appoDate);
|
167
|
+
subject = subject.replace(/{{宛名_姓}}/g,family_name);
|
168
|
+
|
169
|
+
// プレースホルダ{{画像}}で本文の内容をHTMLのimgタグに差し替え
|
170
|
+
body = body.replace(/{{画像}}/g,"<img src='cid:inlineImg'>");
|
171
|
+
|
172
|
+
|
173
|
+
const options = {
|
174
|
+
cc: 'aaa@example.com,bbb@example.com',
|
175
|
+
htmlBody: body,
|
176
|
+
inlineImages: {
|
177
|
+
inlineImg: imgA
|
178
|
+
}
|
179
|
+
}
|
180
|
+
|
181
|
+
GmailApp.createDraft(recipient,subject,body,options);
|
182
|
+
|
183
|
+
};
|
184
|
+
|
185
|
+
}
|
186
|
+
```
|
187
|
+
|
188
|
+
|
189
|
+

|
190
|
+
|
191
|
+

|
192
|
+
|
193
|
+
|
134
194
|
## ⑥追記情報3
|
135
195
|
|
136
196
|
|
2
訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -121,9 +121,10 @@
|
|
121
121
|
|
122
122
|
あとは現在添付されている画像をインライン表示できれば万々歳なのですが、
|
123
123
|
|
124
|
-
** >画像に関してはプレースホルダを利用してreplaceかけるのがいいかと思います。
|
125
|
-
**
|
126
124
|
|
125
|
+
>画像に関してはプレースホルダを利用してreplaceかけるのがいいかと思います。
|
126
|
+
|
127
|
+
|
127
128
|
この辺についてもう少しかみ砕いてご助言をいただけますと大変ありがたいのですが....
|
128
129
|
|
129
130
|
|
1
ご助言に基づいた実践結果の追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -111,11 +111,28 @@
|
|
111
111
|

|
112
112
|
|
113
113
|
|
114
|
-
## ⑥
|
114
|
+
## ⑥追記情報1(7/12 13:20)
|
115
115
|
|
116
|
+
おかげさまでスプレッドシート状のデータとのリプレイスと、スタイルの適用は対応できました。
|
116
117
|
|
118
|
+

|
117
119
|
|
120
|
+

|
118
121
|
|
122
|
+
あとは現在添付されている画像をインライン表示できれば万々歳なのですが、
|
119
123
|
|
124
|
+
** >画像に関してはプレースホルダを利用してreplaceかけるのがいいかと思います。
|
125
|
+
**
|
120
126
|
|
127
|
+
この辺についてもう少しかみ砕いてご助言をいただけますと大変ありがたいのですが....
|
128
|
+
|
129
|
+
|
130
|
+
## ⑥追記情報2
|
131
|
+
|
132
|
+
|
133
|
+
## ⑥追記情報3
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
|
121
138
|
ここにより詳細な情報を記載してください。
|