質問編集履歴
2
文章の加筆
title
CHANGED
File without changes
|
body
CHANGED
@@ -67,7 +67,7 @@
|
|
67
67
|
return data;
|
68
68
|
}
|
69
69
|
```
|
70
|
-
|
70
|
+
2020050423時追記:量指定子変更
|
71
71
|
```GAS
|
72
72
|
function contact_Gmail() {
|
73
73
|
var rowNumber = 2;
|
1
コード追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -66,4 +66,55 @@
|
|
66
66
|
.replace(suf, '');
|
67
67
|
return data;
|
68
68
|
}
|
69
|
+
```
|
70
|
+
|
71
|
+
```GAS
|
72
|
+
function contact_Gmail() {
|
73
|
+
var rowNumber = 2;
|
74
|
+
var mysheetname = 'Gmail解析_' + Utilities.formatDate(new Date(), 'JST', 'yyyyMMddHHmmss');
|
75
|
+
|
76
|
+
var GmailSS = SpreadsheetApp.create(mysheetname);
|
77
|
+
var mySheet = GmailSS.getSheets()[0];
|
78
|
+
mySheet.setName(mysheetname);
|
79
|
+
mySheet.getRange(1,1).setValue("日時");
|
80
|
+
mySheet.getRange(1,2).setValue("送信元");
|
81
|
+
mySheet.getRange(1,3).setValue("件名");
|
82
|
+
mySheet.getRange(1,4).setValue("本文");
|
83
|
+
mySheet.getRange(1,5).setValue("ご予約");
|
84
|
+
mySheet.getRange(1,6).setValue("お名前");
|
85
|
+
mySheet.getRange(1,7).setValue("電話番号");
|
86
|
+
mySheet.getRange(1,8).setValue("メールアドレス");
|
87
|
+
|
88
|
+
var newfolder = DriveApp.createFolder(mysheetname);
|
89
|
+
|
90
|
+
var searchQuery = 'subject:("finalized") ';
|
91
|
+
var threads = GmailApp.search(searchQuery, 0, 200);
|
92
|
+
|
93
|
+
var mymsg=[];
|
94
|
+
|
95
|
+
var msgs = GmailApp.getMessagesForThreads(threads);
|
96
|
+
|
97
|
+
for(var i = 0; i < msgs.length; i++) {
|
98
|
+
mymsg[i]=[];
|
99
|
+
for(var j = 0; j < msgs[i].length; j++) {
|
100
|
+
mymsg[i][0] = msgs[i][j].getDate();
|
101
|
+
mymsg[i][1] = msgs[i][j].getFrom();
|
102
|
+
mymsg[i][2] = msgs[i][j].getSubject();
|
103
|
+
var nbsp = String.fromCharCode(160);
|
104
|
+
mymsg[i][3] = msgs[i][j].getPlainBody().replace(/<("[^"]*"|'[^']*'|[^'">])*>|nbsp/g,'').replace(/&; | /g,'').substring(0,50000);
|
105
|
+
mymsg[i][4] = fetchData(mymsg[i][3],'Appointments:','Name:');
|
106
|
+
}
|
107
|
+
}
|
108
|
+
if(mymsg.length>0){
|
109
|
+
GmailSS.getSheets()[0].getRange(2, 1, i, 5).setValues(mymsg); //シートに貼り付け
|
110
|
+
}
|
111
|
+
}
|
112
|
+
|
113
|
+
function fetchData(str, pre, suf) {
|
114
|
+
var reg = new RegExp(pre + '.*?' + suf,'m');
|
115
|
+
var data = str.match(reg)[0]
|
116
|
+
.replace(pre, '')
|
117
|
+
.replace(suf, '');
|
118
|
+
return data;
|
119
|
+
}
|
69
120
|
```
|