teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

文章の加筆

2020/05/04 14:44

投稿

fuku-chann
fuku-chann

スコア82

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

コード追記

2020/05/04 14:44

投稿

fuku-chann
fuku-chann

スコア82

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
  ```