質問編集履歴

2

再度行の追加いたしました。

2022/07/07 21:57

投稿

stn1216ky
stn1216ky

スコア1

test CHANGED
File without changes
test CHANGED
@@ -4,133 +4,133 @@
4
4
  下記URL参考にしております。
5
5
  https://note.com/pc8hara/n/n850e081311c5
6
6
  ``````
7
- 0. var sheet = SpreadsheetApp.getActiveSheet();
8
- 0. var data = sheet.getRange(7, 21, sheet.getLastRow() + 1).getValues();
9
- 0.
10
- 0. function getMail04(){
11
- 0. var objSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
12
- 0.
13
- 0. var objSheet = objSpreadsheet.getSheetByName("(その他)個人◆記念キャンペーン"); 
14
- 0. var sheet = SpreadsheetApp.setActiveSheet(objSheet);
15
- 0. var start = 0;
16
- 0.
17
- 0. // 取得するメールの最大件数
18
- 0. var max = 1;
19
- 0.
20
- 0. // Gmailのラベル名をここに記載
21
- 0. var threads = GmailApp.search('label:-その他-キャンペーン is:unread',start,max);
22
- 0.  
23
- 0. // 最後の行探してそれ以降に追加 挿入開始位置
24
- 0. var Messages = GmailApp.getMessagesForThreads(threads);
25
- 0. var row = sheet.getLastRow() + 1;
26
- 0.
27
- 0. // 見出しがあるためシートの1行目を固定
28
- 0. sheet.setFrozenRows(1);
29
- 0.
30
- 0. // メールから各種情報を取り出す//
31
- 0. for(var i = 0; i < Messages.length; i++) {
32
- 0. for(var j = 0; j < Messages[i].length; j++) {
33
- 0. var id = Messages[i][j].getId();
34
- 0. if(!hasId(id)){
35
- 0. var body = Messages[i][j].getPlainBody();
36
- 0. var date = threads[i].getMessages()[j].getDate();
37
- 0.
38
- 0. var regSyohinn = new RegExp('応募賞品:' + '[\\s\\S]*?' + '応募のきっかけ:');
39
- 0. var Syohinn = body.match(regSyohinn)[0].replace('応募賞品:', '').replace('応募のきっかけ:', '').replace('\r', '');
40
- 0. var regKikkake = new RegExp('応募のきっかけ:' + '[\\s\\S]*?' + 'キャンペーンコード:');
41
- 0. var Kikkake = body.match(regKikkake)[0].replace('応募のきっかけ:', '').replace('キャンペーンコード:', '').replace('\r', '');
42
- 0. var regCODE = new RegExp('キャンペーンコード:' + '[\\s\\S]*?' + 'お取引された物件のエリア:');
43
- 0. var CODE = body.match(regCODE)[0].replace('キャンペーンコード:', '').replace('お取引された物件のエリア:', '').replace('\r', '');
44
- 0. var regBukkenAREA = new RegExp('お取引された物件のエリア:' + '[\\s\\S]*?' + 'お取引した店舗名:');
45
- 0. var BukkenAREA = body.match(regBukkenAREA)[0].replace('お取引された物件のエリア:', '').replace('お取引した店舗名:', '').replace('\r', '');
46
- 0. var regTenpoName = new RegExp('お取引した店舗名:' + '[\\s\\S]*?' +'担当者名:');
47
- 0. var TenpoName = body.match(regTenpoName)[0].replace('お取引した店舗名:', '').replace('担当者名:', '').replace('\r', '');
48
- 0. var regTantousyaName = new RegExp('担当者名:' + '[\\s\\S]*?' +'お名前:');
49
- 0. var TantousyaName = body.match(regTantousyaName)[0].replace('担当者名:', '').replace('お名前:', '').replace('\r', '');
50
- 0. var regNameKanji = new RegExp('お名前:' + '[\\s\\S]*?' + 'ふりがな:');
51
- 0. var NameKanji = body.match(regNameKanji)[0].replace('お名前:', '').replace('ふりがな:', '').replace('\r', '');
52
- 0. var regNameFurigana = new RegExp('ふりがな:' + '[\\s\\S]*?' + '生年月日:');
53
- 0. var NameFurigana = body.match(regNameFurigana)[0].replace('ふりがな:', '').replace('生年月日:', '').replace('\r', '');
54
- 0. var regSeinengappi = new RegExp('生年月日:' + '[\\s\\S]*?' + '携帯電話番号:');
55
- 0. var Seinengappi = body.match(regSeinengappi)[0].replace('生年月日:', '').replace('携帯電話番号:', '').replace('\r', '');
56
- 0. var regTelNumber = new RegExp('携帯電話番号:' + '[\\s\\S]*?' + 'メールアドレス:');
57
- 0. var TelNumber = body.match(regTelNumber)[0].replace('携帯電話番号:', '').replace('メールアドレス:', '').replace('\r', '');
58
- 0. var regJusyo = new RegExp('住所:' + '[\\s\\S]*?' + '住所コード:');
59
- 0. var Jusyo = body.match(regJusyo)[0].replace('住所:', '').replace('住所コード:', '').replace('\r', '');
60
- 0. var regJusyoCode = new RegExp('住所コード:' + '[\\s\\S]*?' + '上記の住所がはがき記載の住所と違う場合はチェックを入れてください:');
61
- 0. var JusyoCode = body.match(regJusyoCode)[0].replace('住所コード:', '').replace('上記の住所がはがき記載の住所と違う場合はチェックを入れてください:', '').replace('\r', '');
62
- 0. var regOnayami2 = new RegExp('『ある』とご回答の場合、ご相談内容をご記入ください:' + '[\\s\\S]*?' + 'ご相談内容について弊社からのご連絡方法を選択ください:');
7
+ 1. var sheet = SpreadsheetApp.getActiveSheet();
8
+ 2. var data = sheet.getRange(7, 21, sheet.getLastRow() + 1).getValues();
9
+ 3.
10
+ 4. function getMail04(){
11
+ 5. var objSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
12
+ 6.
13
+ 7. var objSheet = objSpreadsheet.getSheetByName("(その他)個人◆記念キャンペーン"); 
14
+ 8. var sheet = SpreadsheetApp.setActiveSheet(objSheet);
15
+ 9. var start = 0;
16
+ 10.
17
+ 11. // 取得するメールの最大件数
18
+ 12. var max = 1;
19
+ 13.
20
+ 14. // Gmailのラベル名をここに記載
21
+ 15. var threads = GmailApp.search('label:-その他-キャンペーン is:unread',start,max);
22
+ 16.  
23
+ 17. // 最後の行探してそれ以降に追加 挿入開始位置
24
+ 18. var Messages = GmailApp.getMessagesForThreads(threads);
25
+ 19. var row = sheet.getLastRow() + 1;
26
+ 20.
27
+ 21. // 見出しがあるためシートの1行目を固定
28
+ 22. sheet.setFrozenRows(1);
29
+ 23.
30
+ 24. // メールから各種情報を取り出す//
31
+ 25. for(var i = 0; i < Messages.length; i++) {
32
+ 26. for(var j = 0; j < Messages[i].length; j++) {
33
+ 27. var id = Messages[i][j].getId();
34
+ 28. if(!hasId(id)){
35
+ 29. var body = Messages[i][j].getPlainBody();
36
+ 30. var date = threads[i].getMessages()[j].getDate();
37
+ 31.
38
+ 32. var regSyohinn = new RegExp('応募賞品:' + '[\\s\\S]*?' + '応募のきっかけ:');
39
+ 33. var Syohinn = body.match(regSyohinn)[0].replace('応募賞品:', '').replace('応募のきっかけ:', '').replace('\r', '');
40
+ 34. var regKikkake = new RegExp('応募のきっかけ:' + '[\\s\\S]*?' + 'キャンペーンコード:');
41
+ 35. var Kikkake = body.match(regKikkake)[0].replace('応募のきっかけ:', '').replace('キャンペーンコード:', '').replace('\r', '');
42
+ 36. var regCODE = new RegExp('キャンペーンコード:' + '[\\s\\S]*?' + 'お取引された物件のエリア:');
43
+ 37. var CODE = body.match(regCODE)[0].replace('キャンペーンコード:', '').replace('お取引された物件のエリア:', '').replace('\r', '');
44
+ 38. var regBukkenAREA = new RegExp('お取引された物件のエリア:' + '[\\s\\S]*?' + 'お取引した店舗名:');
45
+ 39. var BukkenAREA = body.match(regBukkenAREA)[0].replace('お取引された物件のエリア:', '').replace('お取引した店舗名:', '').replace('\r', '');
46
+ 40. var regTenpoName = new RegExp('お取引した店舗名:' + '[\\s\\S]*?' +'担当者名:');
47
+ 41. var TenpoName = body.match(regTenpoName)[0].replace('お取引した店舗名:', '').replace('担当者名:', '').replace('\r', '');
48
+ 42. var regTantousyaName = new RegExp('担当者名:' + '[\\s\\S]*?' +'お名前:');
49
+ 43. var TantousyaName = body.match(regTantousyaName)[0].replace('担当者名:', '').replace('お名前:', '').replace('\r', '');
50
+ 44. var regNameKanji = new RegExp('お名前:' + '[\\s\\S]*?' + 'ふりがな:');
51
+ 45. var NameKanji = body.match(regNameKanji)[0].replace('お名前:', '').replace('ふりがな:', '').replace('\r', '');
52
+ 46. var regNameFurigana = new RegExp('ふりがな:' + '[\\s\\S]*?' + '生年月日:');
53
+ 47. var NameFurigana = body.match(regNameFurigana)[0].replace('ふりがな:', '').replace('生年月日:', '').replace('\r', '');
54
+ 48. var regSeinengappi = new RegExp('生年月日:' + '[\\s\\S]*?' + '携帯電話番号:');
55
+ 49. var Seinengappi = body.match(regSeinengappi)[0].replace('生年月日:', '').replace('携帯電話番号:', '').replace('\r', '');
56
+ 50. var regTelNumber = new RegExp('携帯電話番号:' + '[\\s\\S]*?' + 'メールアドレス:');
57
+ 51. var TelNumber = body.match(regTelNumber)[0].replace('携帯電話番号:', '').replace('メールアドレス:', '').replace('\r', '');
58
+ 52. var regJusyo = new RegExp('住所:' + '[\\s\\S]*?' + '住所コード:');
59
+ 53. var Jusyo = body.match(regJusyo)[0].replace('住所:', '').replace('住所コード:', '').replace('\r', '');
60
+ 54. var regJusyoCode = new RegExp('住所コード:' + '[\\s\\S]*?' + '上記の住所がはがき記載の住所と違う場合はチェックを入れてください:');
61
+ 55. var JusyoCode = body.match(regJusyoCode)[0].replace('住所コード:', '').replace('上記の住所がはがき記載の住所と違う場合はチェックを入れてください:', '').replace('\r', '');
62
+ 56. var regOnayami2 = new RegExp('『ある』とご回答の場合、ご相談内容をご記入ください:' + '[\\s\\S]*?' + 'ご相談内容について弊社からのご連絡方法を選択ください:');
63
63
  **57. **var Onayami2 = body.match(regOnayami2)[0].replace('『ある』とご回答の場合、ご相談内容をご記入ください:', '').replace('ご相談内容について弊社からのご連絡方法を選択ください:', '').replace('\r', '');
64
- 0. var regRenrakuhouhou = new RegExp('ご相談内容について弊社からのご連絡方法を選択ください:' + '[\\s\\S]*?' +'公式SNSをフォローされていますか:');
65
- 0. var Renrakuhouhou = body.match(regRenrakuhouhou)[0].replace('ご相談内容について弊社からのご連絡方法を選択ください:', '').replace('公式SNSをフォローされていますか:', '').replace('\r', '');
66
- 0. var regSNS = new RegExp('公式SNSをフォローされていますか:' + '[\\s\\S]*?' + 'その他ご要望等ございましたらご記入ください:');
67
- 0. var SNS = body.match(regSNS)[0].replace('公式SNSをフォローされていますか:', '').replace('その他ご要望等ございましたらご記入ください:', '').replace('\r', '');
68
- 0. var regYoubou = new RegExp('その他ご要望等ございましたらご記入ください:' + '[\\s\\S]*?' + '個人情報の取り扱いについて(必ずお読みください):');
69
- 0. var Youbou = body.match(regYoubou)[0].replace('その他ご要望等ございましたらご記入ください:', '').replace('個人情報の取り扱いについて(必ずお読みください):', '').replace('\r', '');
70
- 0. var regAnother = new RegExp('個人情報の取り扱いについて(必ずお読みください):' + '[\\s\\S]*?' + 'このメールはホームページ<記念キャンペーン>');
71
- 0. var Another = body.match(regAnother)[0].replace('個人情報の取り扱いについて(必ずお読みください):', '').replace(/\r?\n/g, '').replace('このメールはホームページ<記念キャンペーン>', '');
72
- 0. var regMail = new RegExp('メールアドレス:' + '[\\s\\S]*?' + '現在のお住まい:');
73
- 0. var Mail = body.match(regMail)[0].replace('メールアドレス:', '').replace('現在のお住まい:', '').replace('\r', '');
74
- 0. var regJusyoSoui = new RegExp('場合はチェックを入れてください:' + '[\\s\\S]*?' + '現在、不動産に関するお悩み');
75
- 0. var JusyoSoui = body.match(regJusyoSoui)[0].replace('場合はチェックを入れてください:', '').replace('現在、不動産に関するお悩み', '').replace('\r', '');
76
- 0. var regOnayami = new RegExp('お悩みやご相談等はございますか:' + '[\\s\\S]*?' + '『ある』とご回答の場合、ご相談内容をご記入ください:');
77
- 0. var Onayami = body.match(regOnayami)[0].replace('お悩みやご相談等はございますか:', '').replace('『ある』とご回答の場合、ご相談内容をご記入ください:', '').replace('\r', '');
78
- 0.
79
- 0. id
80
- 0.
81
- 0. // 同じメールを読み込まないように、メッセージを既読にする
82
- 0. threads[i].markRead();
83
- 0.
84
- 0. // それぞれの項目をセルを指定してスプレッドシートへ転記
85
- 0. sheet.getRange(row,1).setValue(date);
86
- 0. sheet.getRange(row,2).setValue([Syohinn]);
87
- 0. sheet.getRange(row,3).setValue([Kikkake]);
88
- 0. sheet.getRange(row,4).setValue([CODE]);
89
- 0. sheet.getRange(row,5).setValue([BukkenAREA]);
90
- 0. sheet.getRange(row,6).setValue([TenpoName]);
91
- 0. sheet.getRange(row,7).setValue([TantousyaName]);
92
- 0. sheet.getRange(row,8).setValue([NameKanji]);
93
- 0. sheet.getRange(row,9).setValue([NameFurigana]);
94
- 0. sheet.getRange(row,10).setValue([Seinengappi]);
95
- 0. sheet.getRange(row,11).setValue([TelNumber]);
96
- 0. sheet.getRange(row,12).setValue([Mail]);
97
- 0. sheet.getRange(row,13).setValue([Jusyo]);
98
- 0. sheet.getRange(row,14).setValue([JusyoCode]);
99
- 0. sheet.getRange(row,15).setValue([Onayami]);
100
- 0. sheet.getRange(row,16).setValue([Onayami2]);
101
- 0. sheet.getRange(row,17).setValue([Renrakuhouhou]);
102
- 0. sheet.getRange(row,18).setValue([SNS]);
103
- 0. sheet.getRange(row,19).setValue([Youbou]);
104
- 0. sheet.getRange(row,20).setValue([Another]);
105
- 0. sheet.getRange(row,21).setValue([id]);
106
- 0. row++
107
- 0.
108
- 0. // 受信日時順の昇順に並び替え
109
- 0. var range = sheet.getRange("A:U");
110
- 0. range.sort({column: 1, ascending: true});
111
- 0. }
112
- 0. }
113
- 0. }
114
- 0. }
115
- 0.
116
- 0. // 同じメッセージIDがある場合は読み込まないように
117
- 0. function hasId(id) {
118
- 0. var hasId = data.some(function(array, i, data) {
119
- 0. return (array[0] === id);
120
- 0. });
121
- 0. return hasId;
122
- 0. }
123
- 0.
124
- 0. // この記述で正規表記?
125
- 0. function fetchData(str, pre, suf) {
126
- 0. var reg = new RegExp(pre + '.*?' + suf);
127
- 0. var data = '';
128
- 0. data = str.match(reg)[0]
129
- 0. .replace(pre, '')
130
- 0. .replace(suf, '');
131
- 0. return data;
132
- 0. }
133
- 0.
64
+ 58. var regRenrakuhouhou = new RegExp('ご相談内容について弊社からのご連絡方法を選択ください:' + '[\\s\\S]*?' +'公式SNSをフォローされていますか:');
65
+ 59. var Renrakuhouhou = body.match(regRenrakuhouhou)[0].replace('ご相談内容について弊社からのご連絡方法を選択ください:', '').replace('公式SNSをフォローされていますか:', '').replace('\r', '');
66
+ 60. var regSNS = new RegExp('公式SNSをフォローされていますか:' + '[\\s\\S]*?' + 'その他ご要望等ございましたらご記入ください:');
67
+ 61. var SNS = body.match(regSNS)[0].replace('公式SNSをフォローされていますか:', '').replace('その他ご要望等ございましたらご記入ください:', '').replace('\r', '');
68
+ 62. var regYoubou = new RegExp('その他ご要望等ございましたらご記入ください:' + '[\\s\\S]*?' + '個人情報の取り扱いについて(必ずお読みください):');
69
+ 63. var Youbou = body.match(regYoubou)[0].replace('その他ご要望等ございましたらご記入ください:', '').replace('個人情報の取り扱いについて(必ずお読みください):', '').replace('\r', '');
70
+ 64. var regAnother = new RegExp('個人情報の取り扱いについて(必ずお読みください):' + '[\\s\\S]*?' + 'このメールはホームページ<記念キャンペーン>');
71
+ 65. var Another = body.match(regAnother)[0].replace('個人情報の取り扱いについて(必ずお読みください):', '').replace(/\r?\n/g, '').replace('このメールはホームページ<記念キャンペーン>', '');
72
+ 66. var regMail = new RegExp('メールアドレス:' + '[\\s\\S]*?' + '現在のお住まい:');
73
+ 67. var Mail = body.match(regMail)[0].replace('メールアドレス:', '').replace('現在のお住まい:', '').replace('\r', '');
74
+ 68. var regJusyoSoui = new RegExp('場合はチェックを入れてください:' + '[\\s\\S]*?' + '現在、不動産に関するお悩み');
75
+ 69. var JusyoSoui = body.match(regJusyoSoui)[0].replace('場合はチェックを入れてください:', '').replace('現在、不動産に関するお悩み', '').replace('\r', '');
76
+ 70. var regOnayami = new RegExp('お悩みやご相談等はございますか:' + '[\\s\\S]*?' + '『ある』とご回答の場合、ご相談内容をご記入ください:');
77
+ 71. var Onayami = body.match(regOnayami)[0].replace('お悩みやご相談等はございますか:', '').replace('『ある』とご回答の場合、ご相談内容をご記入ください:', '').replace('\r', '');
78
+ 72.
79
+ 73. id
80
+ 74.
81
+ 75. // 同じメールを読み込まないように、メッセージを既読にする
82
+ 76. threads[i].markRead();
83
+ 77.
84
+ 78. // それぞれの項目をセルを指定してスプレッドシートへ転記
85
+ 79. sheet.getRange(row,1).setValue(date);
86
+ 80. sheet.getRange(row,2).setValue([Syohinn]);
87
+ 81. sheet.getRange(row,3).setValue([Kikkake]);
88
+ 82. sheet.getRange(row,4).setValue([CODE]);
89
+ 83. sheet.getRange(row,5).setValue([BukkenAREA]);
90
+ 84. sheet.getRange(row,6).setValue([TenpoName]);
91
+ 85. sheet.getRange(row,7).setValue([TantousyaName]);
92
+ 86. sheet.getRange(row,8).setValue([NameKanji]);
93
+ 87. sheet.getRange(row,9).setValue([NameFurigana]);
94
+ 88. sheet.getRange(row,10).setValue([Seinengappi]);
95
+ 89. sheet.getRange(row,11).setValue([TelNumber]);
96
+ 90. sheet.getRange(row,12).setValue([Mail]);
97
+ 91. sheet.getRange(row,13).setValue([Jusyo]);
98
+ 92. sheet.getRange(row,14).setValue([JusyoCode]);
99
+ 93. sheet.getRange(row,15).setValue([Onayami]);
100
+ 94. sheet.getRange(row,16).setValue([Onayami2]);
101
+ 95. sheet.getRange(row,17).setValue([Renrakuhouhou]);
102
+ 96. sheet.getRange(row,18).setValue([SNS]);
103
+ 97. sheet.getRange(row,19).setValue([Youbou]);
104
+ 98. sheet.getRange(row,20).setValue([Another]);
105
+ 99. sheet.getRange(row,21).setValue([id]);
106
+ 100. row++
107
+ 101.
108
+ 102. // 受信日時順の昇順に並び替え
109
+ 103. var range = sheet.getRange("A:U");
110
+ 104. range.sort({column: 1, ascending: true});
111
+ 105. }
112
+ 106. }
113
+ 107. }
114
+ 108. }
115
+ 109.
116
+ 110. // 同じメッセージIDがある場合は読み込まないように
117
+ 111. function hasId(id) {
118
+ 112. var hasId = data.some(function(array, i, data) {
119
+ 113. return (array[0] === id);
120
+ 114. });
121
+ 115. return hasId;
122
+ 116. }
123
+ 117.
124
+ 118. // この記述で正規表記?
125
+ 119. function fetchData(str, pre, suf) {
126
+ 120. var reg = new RegExp(pre + '.*?' + suf);
127
+ 121. var data = '';
128
+ 122. data = str.match(reg)[0]
129
+ 123. .replace(pre, '')
130
+ 124. .replace(suf, '');
131
+ 125. return data;
132
+ 126. }
133
+ 127.
134
134
  ```
135
135
 
136
136
 

1

メール本文、行数を追加しました。

2022/07/07 21:46

投稿

stn1216ky
stn1216ky

スコア1

test CHANGED
File without changes
test CHANGED
@@ -3,131 +3,161 @@
3
3
 
4
4
  下記URL参考にしております。
5
5
  https://note.com/pc8hara/n/n850e081311c5
6
+ ``````
6
- ``````var sheet = SpreadsheetApp.getActiveSheet();
7
+ 0. var sheet = SpreadsheetApp.getActiveSheet();
7
- var data = sheet.getRange(7, 21, sheet.getLastRow() + 1).getValues();
8
+ 0. var data = sheet.getRange(7, 21, sheet.getLastRow() + 1).getValues();
9
+ 0.
10
+ 0. function getMail04(){
11
+ 0. var objSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
12
+ 0.
13
+ 0. var objSheet = objSpreadsheet.getSheetByName("(その他)個人◆記念キャンペーン"); 
14
+ 0. var sheet = SpreadsheetApp.setActiveSheet(objSheet);
15
+ 0. var start = 0;
16
+ 0.
17
+ 0. // 取得するメールの最大件数
18
+ 0. var max = 1;
19
+ 0.
20
+ 0. // Gmailのラベル名をここに記載
21
+ 0. var threads = GmailApp.search('label:-その他-キャンペーン is:unread',start,max);
22
+ 0.  
23
+ 0. // 最後の行探してそれ以降に追加 挿入開始位置
24
+ 0. var Messages = GmailApp.getMessagesForThreads(threads);
25
+ 0. var row = sheet.getLastRow() + 1;
26
+ 0.
27
+ 0. // 見出しがあるためシートの1行目を固定
28
+ 0. sheet.setFrozenRows(1);
29
+ 0.
30
+ 0. // メールから各種情報を取り出す//
31
+ 0. for(var i = 0; i < Messages.length; i++) {
32
+ 0. for(var j = 0; j < Messages[i].length; j++) {
33
+ 0. var id = Messages[i][j].getId();
34
+ 0. if(!hasId(id)){
35
+ 0. var body = Messages[i][j].getPlainBody();
36
+ 0. var date = threads[i].getMessages()[j].getDate();
37
+ 0.
38
+ 0. var regSyohinn = new RegExp('応募賞品:' + '[\\s\\S]*?' + '応募のきっかけ:');
39
+ 0. var Syohinn = body.match(regSyohinn)[0].replace('応募賞品:', '').replace('応募のきっかけ:', '').replace('\r', '');
40
+ 0. var regKikkake = new RegExp('応募のきっかけ:' + '[\\s\\S]*?' + 'キャンペーンコード:');
41
+ 0. var Kikkake = body.match(regKikkake)[0].replace('応募のきっかけ:', '').replace('キャンペーンコード:', '').replace('\r', '');
42
+ 0. var regCODE = new RegExp('キャンペーンコード:' + '[\\s\\S]*?' + 'お取引された物件のエリア:');
43
+ 0. var CODE = body.match(regCODE)[0].replace('キャンペーンコード:', '').replace('お取引された物件のエリア:', '').replace('\r', '');
44
+ 0. var regBukkenAREA = new RegExp('お取引された物件のエリア:' + '[\\s\\S]*?' + 'お取引した店舗名:');
45
+ 0. var BukkenAREA = body.match(regBukkenAREA)[0].replace('お取引された物件のエリア:', '').replace('お取引した店舗名:', '').replace('\r', '');
46
+ 0. var regTenpoName = new RegExp('お取引した店舗名:' + '[\\s\\S]*?' +'担当者名:');
47
+ 0. var TenpoName = body.match(regTenpoName)[0].replace('お取引した店舗名:', '').replace('担当者名:', '').replace('\r', '');
48
+ 0. var regTantousyaName = new RegExp('担当者名:' + '[\\s\\S]*?' +'お名前:');
49
+ 0. var TantousyaName = body.match(regTantousyaName)[0].replace('担当者名:', '').replace('お名前:', '').replace('\r', '');
50
+ 0. var regNameKanji = new RegExp('お名前:' + '[\\s\\S]*?' + 'ふりがな:');
51
+ 0. var NameKanji = body.match(regNameKanji)[0].replace('お名前:', '').replace('ふりがな:', '').replace('\r', '');
52
+ 0. var regNameFurigana = new RegExp('ふりがな:' + '[\\s\\S]*?' + '生年月日:');
53
+ 0. var NameFurigana = body.match(regNameFurigana)[0].replace('ふりがな:', '').replace('生年月日:', '').replace('\r', '');
54
+ 0. var regSeinengappi = new RegExp('生年月日:' + '[\\s\\S]*?' + '携帯電話番号:');
55
+ 0. var Seinengappi = body.match(regSeinengappi)[0].replace('生年月日:', '').replace('携帯電話番号:', '').replace('\r', '');
56
+ 0. var regTelNumber = new RegExp('携帯電話番号:' + '[\\s\\S]*?' + 'メールアドレス:');
57
+ 0. var TelNumber = body.match(regTelNumber)[0].replace('携帯電話番号:', '').replace('メールアドレス:', '').replace('\r', '');
58
+ 0. var regJusyo = new RegExp('住所:' + '[\\s\\S]*?' + '住所コード:');
59
+ 0. var Jusyo = body.match(regJusyo)[0].replace('住所:', '').replace('住所コード:', '').replace('\r', '');
60
+ 0. var regJusyoCode = new RegExp('住所コード:' + '[\\s\\S]*?' + '上記の住所がはがき記載の住所と違う場合はチェックを入れてください:');
61
+ 0. var JusyoCode = body.match(regJusyoCode)[0].replace('住所コード:', '').replace('上記の住所がはがき記載の住所と違う場合はチェックを入れてください:', '').replace('\r', '');
62
+ 0. var regOnayami2 = new RegExp('『ある』とご回答の場合、ご相談内容をご記入ください:' + '[\\s\\S]*?' + 'ご相談内容について弊社からのご連絡方法を選択ください:');
63
+ **57. **var Onayami2 = body.match(regOnayami2)[0].replace('『ある』とご回答の場合、ご相談内容をご記入ください:', '').replace('ご相談内容について弊社からのご連絡方法を選択ください:', '').replace('\r', '');
64
+ 0. var regRenrakuhouhou = new RegExp('ご相談内容について弊社からのご連絡方法を選択ください:' + '[\\s\\S]*?' +'公式SNSをフォローされていますか:');
65
+ 0. var Renrakuhouhou = body.match(regRenrakuhouhou)[0].replace('ご相談内容について弊社からのご連絡方法を選択ください:', '').replace('公式SNSをフォローされていますか:', '').replace('\r', '');
66
+ 0. var regSNS = new RegExp('公式SNSをフォローされていますか:' + '[\\s\\S]*?' + 'その他ご要望等ございましたらご記入ください:');
67
+ 0. var SNS = body.match(regSNS)[0].replace('公式SNSをフォローされていますか:', '').replace('その他ご要望等ございましたらご記入ください:', '').replace('\r', '');
68
+ 0. var regYoubou = new RegExp('その他ご要望等ございましたらご記入ください:' + '[\\s\\S]*?' + '個人情報の取り扱いについて(必ずお読みください):');
69
+ 0. var Youbou = body.match(regYoubou)[0].replace('その他ご要望等ございましたらご記入ください:', '').replace('個人情報の取り扱いについて(必ずお読みください):', '').replace('\r', '');
70
+ 0. var regAnother = new RegExp('個人情報の取り扱いについて(必ずお読みください):' + '[\\s\\S]*?' + 'このメールはホームページ<記念キャンペーン>');
71
+ 0. var Another = body.match(regAnother)[0].replace('個人情報の取り扱いについて(必ずお読みください):', '').replace(/\r?\n/g, '').replace('このメールはホームページ<記念キャンペーン>', '');
72
+ 0. var regMail = new RegExp('メールアドレス:' + '[\\s\\S]*?' + '現在のお住まい:');
73
+ 0. var Mail = body.match(regMail)[0].replace('メールアドレス:', '').replace('現在のお住まい:', '').replace('\r', '');
74
+ 0. var regJusyoSoui = new RegExp('場合はチェックを入れてください:' + '[\\s\\S]*?' + '現在、不動産に関するお悩み');
75
+ 0. var JusyoSoui = body.match(regJusyoSoui)[0].replace('場合はチェックを入れてください:', '').replace('現在、不動産に関するお悩み', '').replace('\r', '');
76
+ 0. var regOnayami = new RegExp('お悩みやご相談等はございますか:' + '[\\s\\S]*?' + '『ある』とご回答の場合、ご相談内容をご記入ください:');
77
+ 0. var Onayami = body.match(regOnayami)[0].replace('お悩みやご相談等はございますか:', '').replace('『ある』とご回答の場合、ご相談内容をご記入ください:', '').replace('\r', '');
78
+ 0.
79
+ 0. id
80
+ 0.
81
+ 0. // 同じメールを読み込まないように、メッセージを既読にする
82
+ 0. threads[i].markRead();
83
+ 0.
84
+ 0. // それぞれの項目をセルを指定してスプレッドシートへ転記
85
+ 0. sheet.getRange(row,1).setValue(date);
86
+ 0. sheet.getRange(row,2).setValue([Syohinn]);
87
+ 0. sheet.getRange(row,3).setValue([Kikkake]);
88
+ 0. sheet.getRange(row,4).setValue([CODE]);
89
+ 0. sheet.getRange(row,5).setValue([BukkenAREA]);
90
+ 0. sheet.getRange(row,6).setValue([TenpoName]);
91
+ 0. sheet.getRange(row,7).setValue([TantousyaName]);
92
+ 0. sheet.getRange(row,8).setValue([NameKanji]);
93
+ 0. sheet.getRange(row,9).setValue([NameFurigana]);
94
+ 0. sheet.getRange(row,10).setValue([Seinengappi]);
95
+ 0. sheet.getRange(row,11).setValue([TelNumber]);
96
+ 0. sheet.getRange(row,12).setValue([Mail]);
97
+ 0. sheet.getRange(row,13).setValue([Jusyo]);
98
+ 0. sheet.getRange(row,14).setValue([JusyoCode]);
99
+ 0. sheet.getRange(row,15).setValue([Onayami]);
100
+ 0. sheet.getRange(row,16).setValue([Onayami2]);
101
+ 0. sheet.getRange(row,17).setValue([Renrakuhouhou]);
102
+ 0. sheet.getRange(row,18).setValue([SNS]);
103
+ 0. sheet.getRange(row,19).setValue([Youbou]);
104
+ 0. sheet.getRange(row,20).setValue([Another]);
105
+ 0. sheet.getRange(row,21).setValue([id]);
106
+ 0. row++
107
+ 0.
108
+ 0. // 受信日時順の昇順に並び替え
109
+ 0. var range = sheet.getRange("A:U");
110
+ 0. range.sort({column: 1, ascending: true});
111
+ 0. }
112
+ 0. }
113
+ 0. }
114
+ 0. }
115
+ 0.
116
+ 0. // 同じメッセージIDがある場合は読み込まないように
117
+ 0. function hasId(id) {
118
+ 0. var hasId = data.some(function(array, i, data) {
119
+ 0. return (array[0] === id);
120
+ 0. });
121
+ 0. return hasId;
122
+ 0. }
123
+ 0.
124
+ 0. // この記述で正規表記?
125
+ 0. function fetchData(str, pre, suf) {
126
+ 0. var reg = new RegExp(pre + '.*?' + suf);
127
+ 0. var data = '';
128
+ 0. data = str.match(reg)[0]
129
+ 0. .replace(pre, '')
130
+ 0. .replace(suf, '');
131
+ 0. return data;
132
+ 0. }
133
+ 0.
134
+ ```
8
135
 
9
- function getMail04(){
10
- var objSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
11
136
 
12
- var objSheet = objSpreadsheet.getSheetByName("(その他)個人◆記念キャンペーン"); 
13
- var sheet = SpreadsheetApp.setActiveSheet(objSheet);
137
+ 下記のようなメールを受信し、label:-その他-キャンペーンに分けている状態です。
14
- var start = 0;
15
138
 
139
+ 【メール本文】
16
- // 取得するメールの最大件数
140
+ 【注意】このメールに直接返信すると、キャンペーン事務局へメールが送られ、
17
- var max = 1;
141
+ お客様には届きません。
142
+ ◆記念キャンペーン
18
143
 
144
+ [お問い合わせ内容]
145
+ 応募賞品:
146
+ 応募のきっかけ:はがき
147
+ キャンペーンコード:210021691
148
+ お取引された物件のエリア:その他
149
+ お取引した店舗名:
150
+ 担当者名:
151
+ お名前:
152
+ ふりがな:
153
+ 生年月日:
154
+ 携帯電話番号:
155
+ メールアドレス:
156
+ 住所:
157
+ 住所コード:
158
+ 上記の住所がはがき記載の住所と違う場合はチェックを入れてください:同じ住所
19
- // Gmailのラベル名ここに記載
159
+ 公式SNSフォローされていますか:フォローしていない
20
- var threads = GmailApp.search('label:-その他-キャンペーン is:unread',start,max);
21
-  
22
- // 最後行探しそれ以降追加 挿入開始位置
160
+ 個人情報取り扱いについ(必ずお読みください):上記3点同意する
23
- var Messages = GmailApp.getMessagesForThreads(threads);
24
- var row = sheet.getLastRow() + 1;
25
161
 
26
- // 見出しがあるためシートの1行目を固定
27
- sheet.setFrozenRows(1);
28
-
29
- // メールから各種情報を取り出す//
30
- for(var i = 0; i < Messages.length; i++) {
31
- for(var j = 0; j < Messages[i].length; j++) {
32
- var id = Messages[i][j].getId();
162
+ このメールはホームページ<記念キャンペーン>から送信されています。
33
- if(!hasId(id)){
34
- var body = Messages[i][j].getPlainBody();
35
- var date = threads[i].getMessages()[j].getDate();
36
-
37
- var regSyohinn = new RegExp('応募賞品:' + '[\\s\\S]*?' + '応募のきっかけ:');
38
- var Syohinn = body.match(regSyohinn)[0].replace('応募賞品:', '').replace('応募のきっかけ:', '').replace('\r', '');
39
- var regKikkake = new RegExp('応募のきっかけ:' + '[\\s\\S]*?' + 'キャンペーンコード:');
40
- var Kikkake = body.match(regKikkake)[0].replace('応募のきっかけ:', '').replace('キャンペーンコード:', '').replace('\r', '');
41
- var regCODE = new RegExp('キャンペーンコード:' + '[\\s\\S]*?' + 'お取引された物件のエリア:');
42
- var CODE = body.match(regCODE)[0].replace('キャンペーンコード:', '').replace('お取引された物件のエリア:', '').replace('\r', '');
43
- var regBukkenAREA = new RegExp('お取引された物件のエリア:' + '[\\s\\S]*?' + 'お取引した店舗名:');
44
- var BukkenAREA = body.match(regBukkenAREA)[0].replace('お取引された物件のエリア:', '').replace('お取引した店舗名:', '').replace('\r', '');
45
- var regTenpoName = new RegExp('お取引した店舗名:' + '[\\s\\S]*?' +'担当者名:');
46
- var TenpoName = body.match(regTenpoName)[0].replace('お取引した店舗名:', '').replace('担当者名:', '').replace('\r', '');
47
- var regTantousyaName = new RegExp('担当者名:' + '[\\s\\S]*?' +'お名前:');
48
- var TantousyaName = body.match(regTantousyaName)[0].replace('担当者名:', '').replace('お名前:', '').replace('\r', '');
49
- var regNameKanji = new RegExp('お名前:' + '[\\s\\S]*?' + 'ふりがな:');
50
- var NameKanji = body.match(regNameKanji)[0].replace('お名前:', '').replace('ふりがな:', '').replace('\r', '');
51
- var regNameFurigana = new RegExp('ふりがな:' + '[\\s\\S]*?' + '生年月日:');
52
- var NameFurigana = body.match(regNameFurigana)[0].replace('ふりがな:', '').replace('生年月日:', '').replace('\r', '');
53
- var regSeinengappi = new RegExp('生年月日:' + '[\\s\\S]*?' + '携帯電話番号:');
54
- var Seinengappi = body.match(regSeinengappi)[0].replace('生年月日:', '').replace('携帯電話番号:', '').replace('\r', '');
55
- var regTelNumber = new RegExp('携帯電話番号:' + '[\\s\\S]*?' + 'メールアドレス:');
56
- var TelNumber = body.match(regTelNumber)[0].replace('携帯電話番号:', '').replace('メールアドレス:', '').replace('\r', '');
57
- var regJusyo = new RegExp('住所:' + '[\\s\\S]*?' + '住所コード:');
58
- var Jusyo = body.match(regJusyo)[0].replace('住所:', '').replace('住所コード:', '').replace('\r', '');
59
- var regJusyoCode = new RegExp('住所コード:' + '[\\s\\S]*?' + '上記の住所がはがき記載の住所と違う場合はチェックを入れてください:');
60
- var JusyoCode = body.match(regJusyoCode)[0].replace('住所コード:', '').replace('上記の住所がはがき記載の住所と違う場合はチェックを入れてください:', '').replace('\r', '');
61
- var regOnayami2 = new RegExp('『ある』とご回答の場合、ご相談内容をご記入ください:' + '[\\s\\S]*?' + 'ご相談内容について弊社からのご連絡方法を選択ください:');
62
- var Onayami2 = body.match(regOnayami2)[0].replace('『ある』とご回答の場合、ご相談内容をご記入ください:', '').replace('ご相談内容について弊社からのご連絡方法を選択ください:', '').replace('\r', '');
63
- var regRenrakuhouhou = new RegExp('ご相談内容について弊社からのご連絡方法を選択ください:' + '[\\s\\S]*?' +'公式SNSをフォローされていますか:');
64
- var Renrakuhouhou = body.match(regRenrakuhouhou)[0].replace('ご相談内容について弊社からのご連絡方法を選択ください:', '').replace('公式SNSをフォローされていますか:', '').replace('\r', '');
65
- var regSNS = new RegExp('公式SNSをフォローされていますか:' + '[\\s\\S]*?' + 'その他ご要望等ございましたらご記入ください:');
66
- var SNS = body.match(regSNS)[0].replace('公式SNSをフォローされていますか:', '').replace('その他ご要望等ございましたらご記入ください:', '').replace('\r', '');
67
- var regYoubou = new RegExp('その他ご要望等ございましたらご記入ください:' + '[\\s\\S]*?' + '個人情報の取り扱いについて(必ずお読みください):');
68
- var Youbou = body.match(regYoubou)[0].replace('その他ご要望等ございましたらご記入ください:', '').replace('個人情報の取り扱いについて(必ずお読みください):', '').replace('\r', '');
69
- var regAnother = new RegExp('個人情報の取り扱いについて(必ずお読みください):' + '[\\s\\S]*?' + 'このメールはホームページ<記念キャンペーン>');
70
- var Another = body.match(regAnother)[0].replace('個人情報の取り扱いについて(必ずお読みください):', '').replace(/\r?\n/g, '').replace('このメールはホームページ<記念キャンペーン>', '');
71
- var regMail = new RegExp('メールアドレス:' + '[\\s\\S]*?' + '現在のお住まい:');
72
- var Mail = body.match(regMail)[0].replace('メールアドレス:', '').replace('現在のお住まい:', '').replace('\r', '');
73
- var regJusyoSoui = new RegExp('場合はチェックを入れてください:' + '[\\s\\S]*?' + '現在、不動産に関するお悩み');
74
- var JusyoSoui = body.match(regJusyoSoui)[0].replace('場合はチェックを入れてください:', '').replace('現在、不動産に関するお悩み', '').replace('\r', '');
75
- var regOnayami = new RegExp('お悩みやご相談等はございますか:' + '[\\s\\S]*?' + '『ある』とご回答の場合、ご相談内容をご記入ください:');
76
- var Onayami = body.match(regOnayami)[0].replace('お悩みやご相談等はございますか:', '').replace('『ある』とご回答の場合、ご相談内容をご記入ください:', '').replace('\r', '');
77
-
78
- id
79
-
80
- // 同じメールを読み込まないように、メッセージを既読にする
81
- threads[i].markRead();
82
-
83
- // それぞれの項目をセルを指定してスプレッドシートへ転記
84
- sheet.getRange(row,1).setValue(date);
85
- sheet.getRange(row,2).setValue([Syohinn]);
86
- sheet.getRange(row,3).setValue([Kikkake]);
87
- sheet.getRange(row,4).setValue([CODE]);
88
- sheet.getRange(row,5).setValue([BukkenAREA]);
89
- sheet.getRange(row,6).setValue([TenpoName]);
90
- sheet.getRange(row,7).setValue([TantousyaName]);
91
- sheet.getRange(row,8).setValue([NameKanji]);
92
- sheet.getRange(row,9).setValue([NameFurigana]);
93
- sheet.getRange(row,10).setValue([Seinengappi]);
94
- sheet.getRange(row,11).setValue([TelNumber]);
95
- sheet.getRange(row,12).setValue([Mail]);
96
- sheet.getRange(row,13).setValue([Jusyo]);
97
- sheet.getRange(row,14).setValue([JusyoCode]);
98
- sheet.getRange(row,15).setValue([Onayami]);
99
- sheet.getRange(row,16).setValue([Onayami2]);
100
- sheet.getRange(row,17).setValue([Renrakuhouhou]);
101
- sheet.getRange(row,18).setValue([SNS]);
102
- sheet.getRange(row,19).setValue([Youbou]);
103
- sheet.getRange(row,20).setValue([Another]);
104
- sheet.getRange(row,21).setValue([id]);
105
- row++
106
-
107
- // 受信日時順の昇順に並び替え
163
+ 不明点などは、キャンペーン事務局までご連絡ください。
108
- var range = sheet.getRange("A:U");
109
- range.sort({column: 1, ascending: true});
110
- }
111
- }
112
- }
113
- }
114
-
115
- // 同じメッセージIDがある場合は読み込まないように
116
- function hasId(id) {
117
- var hasId = data.some(function(array, i, data) {
118
- return (array[0] === id);
119
- });
120
- return hasId;
121
- }
122
-
123
- // この記述で正規表記?
124
- function fetchData(str, pre, suf) {
125
- var reg = new RegExp(pre + '.*?' + suf);
126
- var data = '';
127
- data = str.match(reg)[0]
128
- .replace(pre, '')
129
- .replace(suf, '');
130
- return data;
131
- }
132
-
133
- ```