質問編集履歴
2
書式の改善
test
CHANGED
File without changes
|
test
CHANGED
@@ -9,6 +9,91 @@
|
|
9
9
|
|
10
10
|
### 該当のソースコード
|
11
11
|
```ここに言語を入力
|
12
|
+
function sendMessage(e) {
|
13
|
+
/*
|
14
|
+
<summary>
|
15
|
+
Formで登録された内容をeパラメタとして受け取り、SS上から必要データを取り出して、
|
16
|
+
承認者向けにメールを送付する。メールの内容として、承認・否認の選択肢を付与する。
|
17
|
+
SSには登録されたデータのStatusを”申請中”として登録する
|
18
|
+
*/
|
19
|
+
|
20
|
+
//eパラメタ等から対象シートのRowを取得、ついでにSSに申請中と登録
|
21
|
+
var row = e.range.getRow();
|
22
|
+
var sheet = SpreadsheetApp.openById("1hk_hbd1HvkvJZ4EX_Gi7HK0Lp9BNKcnKt8CLnimXrDo").getSheetByName("ボランティア申込"); //XXXXをSSのIDへ変更
|
23
|
+
sheet.getRange(row,5).setValue("申請中");
|
24
|
+
|
25
|
+
// メールに貼り付けるBodyをgenerateBody関数から作成
|
26
|
+
var bodies = generateBody(e.values);
|
27
|
+
|
28
|
+
// urlはこのGASをウェブアプリで公開した、アドレス+パラメータとして、rowとanswerをつける
|
29
|
+
var url = "https://script.google.com/macros/s/AKfycby_yz-GEv-Rg3plypCBh95IH3ILkIrHD_tFlPM18i5T0MY0tZCQL2F19cC85VzqF1G5Rw/exec"+ "?row=" + row +"&answer="; //https:...以下ををスクリプトをウェブアプリケーションとして公開した際に表示されるURLへ変更
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
var recipient = 'XXXXXXX@gmail.com';
|
34
|
+
var subject = "ボランティア申込みのお知らせ";
|
35
|
+
|
36
|
+
var body = "";
|
37
|
+
body += 'ボランティアの申込みがありました\n\n';
|
38
|
+
body += bodies.plane;
|
39
|
+
body += "承認する場合は以下をクリック";
|
40
|
+
body += url + "ok";
|
41
|
+
body += "承認しない場合は以下をクリック";
|
42
|
+
body += url + "ng";
|
43
|
+
|
44
|
+
var html ="";
|
45
|
+
html += '<h1>ボランティアの申込みがありました</h1>';
|
46
|
+
html += '<p>以下の申込みがありました</p>';
|
47
|
+
html += bodies.plane;
|
48
|
+
html += "<p>承認する場合は、<a href="+ url + "ok>【承認する】</a>をクリックしてください</p>"
|
49
|
+
html += "<p>承認しない場合は、<a href="+ url + "ng>【否認する】</a>をクリックしてください</p>"
|
50
|
+
|
51
|
+
GmailApp.sendEmail(recipient, subject, body, {htmlBody:html});
|
52
|
+
|
53
|
+
}
|
54
|
+
|
55
|
+
|
56
|
+
function doGet(e) {
|
57
|
+
/*
|
58
|
+
<summary>
|
59
|
+
承認者がメールで選択したのち、選択した結果をSSのStatus項目に反映する。
|
60
|
+
また、申請者には結果をメールする。そして、承認者には選択した結果をブラウザ画面で表示する
|
61
|
+
*/
|
62
|
+
// エディタでdoGetを実行したときの承認メール送信確認用
|
63
|
+
// e = {};
|
64
|
+
// e.parameter = {};
|
65
|
+
// e.parameter.row = 10;//有効なメアドがある行
|
66
|
+
// e.parameter.answer = 'ok';
|
67
|
+
const row = e.parameter.row;
|
68
|
+
const sheet = SpreadsheetApp.openById('1hk_hbd1HvkvJZ4EX_Gi7HK0Lp9BNKcnKt8CLnimXrDo').getSheetByName('ボランティア申込'); //XXXXをSSのIDで書換え
|
69
|
+
const values = sheet.getRange(row, 1, 1, 8).getValues()[0];
|
70
|
+
Logger.log(values);
|
71
|
+
const bodies = generateBody(values);
|
72
|
+
const answers = e.parameter.answer;
|
73
|
+
const result = {
|
74
|
+
ok: '承認',
|
75
|
+
ng: '否認'
|
76
|
+
};
|
77
|
+
const recipient = values[3];
|
78
|
+
if (answers) {
|
79
|
+
sheet.getRange(row, 5).setValue(result[answers]);
|
80
|
+
const subject = 'ボランティア申込' + result[answers] + 'のお知らせ';
|
81
|
+
let body = '';
|
82
|
+
body += '以下の内容でボランティアの申込が' + result[answers] + 'されました。\n\n';
|
83
|
+
body += bodies.html;
|
84
|
+
let html = '';
|
85
|
+
html += '<h1>ボランティア申込' + result[answers] + 'のお知らせ</h1>';
|
86
|
+
html += '<p>以下の内容でボランティアの申込が' + result[answers] + 'されました。</p>';
|
87
|
+
html += bodies.html;
|
88
|
+
GmailApp.sendEmail(recipient, subject, body, { htmlBody: html });
|
89
|
+
html = '';// 元のコードではhtmlをvarで再宣言していたが、letで宣言したので再利用に変更
|
90
|
+
html += '<h1>ボランティア申込' + result[answers] + '</h1>';
|
91
|
+
html += '<p>あなたは以下のボランティア申込を' + result[answers] + 'しました</p>';
|
92
|
+
html += bodies.html;
|
93
|
+
return HtmlService.createHtmlOutput(html);
|
94
|
+
};
|
95
|
+
}
|
96
|
+
|
12
97
|
function generateBody(values){
|
13
98
|
|
14
99
|
var name = values[1];
|
@@ -17,6 +102,8 @@
|
|
17
102
|
var syozoku = values[6];
|
18
103
|
var bora = values[7];
|
19
104
|
var bikou = values[8];
|
105
|
+
|
106
|
+
|
20
107
|
|
21
108
|
var plane = "";
|
22
109
|
plane += '<ul>';
|
@@ -29,6 +116,8 @@
|
|
29
116
|
|
30
117
|
plane += '</ul>';
|
31
118
|
|
119
|
+
|
120
|
+
|
32
121
|
var html = '';
|
33
122
|
html += '<ul>';
|
34
123
|
html += '<li>児童名: ' + name + '</li>';
|
@@ -43,10 +132,11 @@
|
|
43
132
|
return {plane:plane, html:html};
|
44
133
|
}
|
45
134
|
|
135
|
+
|
46
136
|
```
|
47
137
|
|
48
138
|
### 試したこと
|
49
|
-
|
139
|
+
function generateBody(values){
|
50
140
|
var name=values[1]←この数字の部分を色々と変えてみましたが、変化がありません。
|
51
141
|
|
52
142
|
### 補足情報(FW/ツールのバージョンなど)
|
1
ソースコードの載せ方の変更
test
CHANGED
File without changes
|
test
CHANGED
@@ -8,6 +8,7 @@
|
|
8
8
|
フォームで申請を受け、担当者に「~申請がありました」という内容のメールが届くのですが、その内容の部分で指定したい内容が表示されず、悩んでいます。
|
9
9
|
|
10
10
|
### 該当のソースコード
|
11
|
+
```ここに言語を入力
|
11
12
|
function generateBody(values){
|
12
13
|
|
13
14
|
var name = values[1];
|
@@ -42,6 +43,7 @@
|
|
42
43
|
return {plane:plane, html:html};
|
43
44
|
}
|
44
45
|
|
46
|
+
```
|
45
47
|
|
46
48
|
### 試したこと
|
47
49
|
|