質問編集履歴

5

修正

2022/05/24 09:58

投稿

MISIAN-MISIAN
MISIAN-MISIAN

スコア73

test CHANGED
File without changes
test CHANGED
@@ -131,4 +131,4 @@
131
131
 
132
132
  ```
133
133
 
134
- ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-05-24/8d60dce2-a3b2-48a8-8ff1-391b2aea1341.png)
134
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-05-24/15c295bc-96f2-440d-bee4-a59cd6262e95.png)

4

画像修正

2022/05/24 09:56

投稿

MISIAN-MISIAN
MISIAN-MISIAN

スコア73

test CHANGED
File without changes
test CHANGED
@@ -131,4 +131,4 @@
131
131
 
132
132
  ```
133
133
 
134
- ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-05-24/00c79ad9-c61f-4131-a61d-3f460bed4d8d.png)
134
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-05-24/8d60dce2-a3b2-48a8-8ff1-391b2aea1341.png)

3

脱字

2022/05/24 09:52

投稿

MISIAN-MISIAN
MISIAN-MISIAN

スコア73

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,7 @@
16
16
  var Matters = body.match(regMatters)[0].replace('ご質問・ご確認事項:', '').replace('\n', '');
17
17
  ```
18
18
 
19
- 下記がこ度になります。
19
+ 下記がコードになります。
20
20
  ログ確認するとMattersに代入できていない状況です。
21
21
 
22
22
 

2

修正

2022/05/24 09:51

投稿

MISIAN-MISIAN
MISIAN-MISIAN

スコア73

test CHANGED
File without changes
test CHANGED
@@ -10,14 +10,18 @@
10
10
 
11
11
  ![画像](https://ddjkaamml8q8x.cloudfront.net/questions/2022-05-24/1254b99e-ab5b-49a7-aa27-89ec36d0016d.png)
12
12
 
13
+
13
14
  ```ここに言語を入力
14
15
  var regMatters = new RegExp('ご質問・ご確認事項:' + '.*?'+ '\n' );
15
16
  var Matters = body.match(regMatters)[0].replace('ご質問・ご確認事項:', '').replace('\n', '');
16
- ``` 
17
+ ```
18
+
17
- 下記コードになります。
19
+ 下記がこ度になります。
18
- log確認すると、画像のよう代入できていない状です。
20
+ ログ確認するとMattersに代入できていない状です。
21
+
19
22
 
20
23
  ```ここに言語を入力
24
+
21
25
  var sheet = SpreadsheetApp.getActiveSheet();
22
26
  var data = sheet.getRange(7, 21, sheet.getLastRow() + 1).getValues();
23
27
 

1

追記

2022/05/24 09:46

投稿

MISIAN-MISIAN
MISIAN-MISIAN

スコア73

test CHANGED
File without changes
test CHANGED
@@ -13,4 +13,118 @@
13
13
  ```ここに言語を入力
14
14
  var regMatters = new RegExp('ご質問・ご確認事項:' + '.*?'+ '\n' );
15
15
  var Matters = body.match(regMatters)[0].replace('ご質問・ご確認事項:', '').replace('\n', '');
16
+ ``` 
17
+ 下記コードになります。
18
+ log確認すると、画像のように、代入できていない状態です。
19
+
20
+ ```ここに言語を入力
21
+ var sheet = SpreadsheetApp.getActiveSheet();
22
+ var data = sheet.getRange(7, 21, sheet.getLastRow() + 1).getValues();
23
+
24
+ function getMail01(){
25
+
26
+ var objSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
27
+
28
+
29
+ var objSheet = objSpreadsheet.getSheetByName("お問い合わせ"); 
30
+ var sheet = SpreadsheetApp.setActiveSheet(objSheet);
31
+ var start = 0;
32
+
33
+ var max = 100;
34
+
35
+
36
+ var threads = GmailApp.search('label:健康診断申込 is:unread',start,max);
37
+  
38
+
39
+ var Messages = GmailApp.getMessagesForThreads(threads);
40
+ var row = sheet.getLastRow() + 1;
41
+
42
+ sheet.setFrozenRows(1);
43
+
44
+
45
+ for(var i = 0; i < Messages.length; i++) {
46
+ for(var j = 0; j < Messages[i].length; j++) {
47
+ var id = Messages[i][j].getId();
48
+ if(!hasId(id)){
49
+ var body = Messages[i][j].getPlainBody();
50
+ var date = threads[i].getMessages()[j].getDate();
51
+
52
+   console.log(`body ${body}`);
53
+
54
+ var regInsurerNumber = new RegExp('保険者番号:' + '.*?' + '\n');
55
+ var InsurerNumber = body.match(regInsurerNumber)[0].replace('保険者番号:', '').replace('\n', '');
56
+ var regInsurerSymbol = new RegExp('保険証記号:' + '.*?' + '\n' );
57
+ var InsurerSymbol = body.match(regInsurerSymbol)[0].replace('保険証記号:', '').replace('\n', '');
58
+ var regHealthNumber = new RegExp('保険証番号:' + '.*?' + '\n' );
59
+ var HealthNumber = body.match(regHealthNumber)[0].replace('保険証番号:', '').replace('\n', '');
60
+ var regName = new RegExp('申込者氏名:' + '.*?' + '\n' );
61
+ var Name = body.match(regName)[0].replace('申込者氏名:', '').replace('\n', '');
62
+ var regSex = new RegExp('性別:' + '.*?' + '\n' );
63
+ var Sex = body.match(regSex)[0].replace('性別:', '').replace('\n', '');
64
+ var regBirthday = new RegExp('生年月日:' + '.*?' + '\n' );
65
+ var Birthday = body.match(regBirthday)[0].replace('生年月日:', '').replace('\n', '');
66
+ var regMailAddress = new RegExp('メールアドレス:' + '.*?' + '\n' );
67
+ var MailAddress = body.match(regMailAddress)[0].replace('メールアドレス:', '').replace('\n', '');
68
+ var regPostalCode = new RegExp('郵便番号:' + '.*?' + '\n' );
69
+ var PostalCode = body.match(regPostalCode)[0].replace('郵便番号:', '').replace('\n', '');
70
+ var regAddress = new RegExp('住所:' + '.*?' + '\n' );
71
+ var Address = body.match(regAddress)[0].replace('住所:', '').replace('\n', '');
72
+ var regTelephoneNumber = new RegExp('電話番号:' + '.*?' + '\n' );
73
+ var TelephoneNumber = body.match(regTelephoneNumber)[0].replace('電話番号:', '').replace('\n', '');
74
+ var regMedicalCode = new RegExp('医療機関コード:' + '.*?' + '\n' );
75
+ var MedicalCode = body.match(regMedicalCode)[0].replace('医療機関コード:', '').replace('\n', '');
76
+ var regMedicalName = new RegExp('医療機関名:' + '.*?' + '\n' );
77
+ var MedicalName = body.match(regMedicalName)[0].replace('医療機関名:', '').replace('\n', '');
78
+ var regFirstChoice = new RegExp('第1受診希望日:' + '.*?' + '\n' );
79
+ var FirstChoice = body.match(regFirstChoice)[0].replace('第1受診希望日:', '').replace('\n', '');
80
+ var regSecondChoice = new RegExp('第2受診希望日:' + '.*?' + '\n' );
81
+ var SecondChoice = body.match(regSecondChoice)[0].replace('第2受診希望日:', '').replace('\n', '');
82
+ var regThirdChoice = new RegExp('第3受診希望日:' + '.*?' + '\n' );
83
+ var ThirdChoice = body.match(regThirdChoice)[0].replace('第3受診希望日:', '').replace('\n', '');
84
+ var regMedicalCourse = new RegExp('受診コース:' + '.*?' + '\n' );
85
+ var MedicalCourse = body.match(regMedicalCourse)[0].replace('受診コース:', '').replace('\n', '');
86
+ var regOption = new RegExp('オプション:' + '.*?' + '\n' );
87
+ var Option = body.match(regOption)[0].replace('オプション:', '').replace('\n', '');
88
+
89
+
90
+ var regMatters = new RegExp(/ご質問・ご確認事項:.*/);
91
+ var regMatters1 = new RegExp(/-.*/);
92
+ let startIng = body.match(regMatters).index;
93
+ let endInd = body.match(regMatters1).index;
94
+ var Matters = body.slice(startIng, endInd).replace('ご質問・ご確認事項:', '').replace('\n', '');
95
+
96
+ console.log(`Matters: ${Matters}`);
97
+
98
+ id
99
+
100
+ // 同じメールを読み込まないように、メッセージを既読にする
101
+ threads[i].markRead();
102
+
103
+
104
+ sheet.getRange(row,1).setValue(date);
105
+ sheet.getRange(row,2).setValue([InsurerNumber]);
106
+ sheet.getRange(row,3).setValue([InsurerSymbol]);
107
+ sheet.getRange(row,4).setValue([HealthNumber]);
108
+ sheet.getRange(row,5).setValue([Name]);
109
+ sheet.getRange(row,6).setValue([Sex]);
110
+ sheet.getRange(row,7).setValue([Birthday]);
111
+ sheet.getRange(row,8).setValue([MailAddress]);
112
+ sheet.getRange(row,9).setValue([PostalCode]);
113
+ sheet.getRange(row,10).setValue([Address]);
114
+ sheet.getRange(row,11).setValue([TelephoneNumber]);
115
+ sheet.getRange(row,12).setValue([MedicalCode]);
116
+ sheet.getRange(row,13).setValue([MedicalName]);
117
+ sheet.getRange(row,14).setValue([FirstChoice]);
118
+ sheet.getRange(row,15).setValue([SecondChoice]);
119
+ sheet.getRange(row,16).setValue([ThirdChoice]);
120
+ sheet.getRange(row,17).setValue([MedicalCourse]);
121
+ sheet.getRange(row,18).setValue([Option]);
122
+ sheet.getRange(row,19).setValue([Matters]);
123
+ sheet.getRange(row,20).setValue([id]);
124
+ row++
125
+
126
+
127
+
16
128
  ```
129
+
130
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-05-24/00c79ad9-c61f-4131-a61d-3f460bed4d8d.png)