質問編集履歴

2

タイトルの修正

2023/02/15 23:10

投稿

diabolos.596
diabolos.596

スコア0

test CHANGED
@@ -1 +1 @@
1
- Gメールから、自動でスプレッドシートに項目ごとに抽出したいのでうまくできません
1
+ 知識がなくGメールから、自動でスプレッドシートに項目ごとに抽出したいので色々試しましたができません。どなたか助けてください。
test CHANGED
File without changes

1

試したソースコード追加

2023/02/15 23:05

投稿

diabolos.596
diabolos.596

スコア0

test CHANGED
File without changes
test CHANGED
@@ -1,5 +1,5 @@
1
1
  はじめまして。
2
- 色々調べたのですが、うまく反映できません。
2
+ 当方知識が無いため色々調べ、コードを書いてみたのですが抽出できません。
3
3
  どなたか知恵をお貸しいただけないでしょうか?
4
4
 
5
5
 
@@ -28,39 +28,80 @@
28
28
  ■電話番号区分1
29
29
  3.携帯
30
30
 
31
- 電話番号1 : 090-1234-5678
32
- メールアドレス : 0
33
-
34
- ■ご加入プラン
35
- 14:○○プラン
36
-
37
- ■ご希望本数※プラン
38
- ○○本
39
-
40
- ■ご希望割・プラン
41
- 3:○○ 1,100円/月
42
-
43
- 希望日 : 00月00日
44
-
45
- ■時間帯
46
- 夕方
47
-
48
31
  ■連絡
49
32
  3:夕方以降
50
33
  ======================
34
+
35
+ function getMail(){
36
+ var sheet = SpreadsheetApp.getActive().getSheetByName('フォームズ回答');
37
+ var start = 0;
38
+ var max = 500;
39
+ var threads = GmailApp.search('label:【フォームズ】 is:unread',start,max);
40
+ var row = sheet.getLastRow() + 1;
41
+
42
+ for(var n in threads){
43
+ var the = threads[n];
44
+
45
+ var msgs = the.getMessages();
46
+ for(m in msgs){
47
+ var msg = msgs[m];
48
+ var body = msg.getBody();
49
+ var res = body.split('<br/>\n')
50
+ var date = msg.getDate();
51
+
52
+
53
+ sheet.getRange(row,1).setValue(date);
54
+
55
+ var customer = res[res.indexOf('■お名前')+1]
56
+ sheet.getRange(row,2).setValue(customer);
57
+
58
+ var name = res[res.indexOf('■お名前(フリガナ)')+1]
59
+ sheet.getRange(row,3).setValue(name);
60
+
61
+ var address1 = plainBody.match(/[都道府県] :(.*)/);
62
+ // Logger.log(address1);
63
+
64
+ var address2 = plainBody.match(/[市区町村] : (.*)/);
65
+ // Logger.log(address2);
66
+
67
+ var address3 = plainBody.match(/[町名番地] : (.*)/);
68
+ // Logger.log(address3);
69
+
70
+ var address4 = plainBody.match(/[建物名] : (.*)/);
71
+ // Logger.log(address4);
72
+
73
+ var tel = res[res.indexOf('■電話番号区分1')+1]
74
+ sheet.getRange(row,3).setValue(tel);
75
+
76
+ var call = res[res.indexOf('■連絡')+1]
77
+ sheet.getRange(row,3).setValue(call);
78
+
79
+
80
+
81
+ }
82
+
83
+ the.markRead();
84
+ row++;
85
+ }
86
+ Utilities.sleep(1000);
87
+ }
88
+
89
+ ======================
51
90
  抽出したい情報は、
52
- お申込日 :以降の値から
53
- ■お名前の下の行(様を抜きたい)
91
+ ■お名前の一つ下の行の情報(様を抜きたい)
54
- ■お名前(フリガナ)の下の行(様を抜きたい)
92
+ ■お名前(フリガナ)の一つ下の行の情報(様を抜きたい)
55
93
  ■ご住所※全角25文字以内(半角不可)の
56
- [郵便番号] : 以降
94
+ [郵便番号] : 以降の情報
57
- [都道府県] : 以降
95
+ [都道府県] : 以降の情報
58
- [市区町村] : 以降
96
+ [市区町村] : 以降の情報
59
- [町名番地] :以降
97
+ [町名番地] :以降の情報
60
- [建物名] : 以降
98
+ [建物名] : 以降の情報
99
+ ■電話番号区分1の一つ下の行の情報
61
- 他同様に■の項目は下の行の
100
+ 連絡一つ下の行の情報
62
- :はそのあとの値
63
- を抽出し、横並びにセルに抽出し
64
- 自動で追加されていくようにしたいと考えております。
101
+ を横並びにセルに抽出し自動で追加されていくようにしたいと考えております。
102
+
103
+ 住所以外でやってみましたが、ひとつづつではなく1メール全部1セルに入っており
104
+ 住所のコードを足すとエラーは出ないのですが何も反映されなくなりました。
105
+
65
106
  お手数ですがどのようにGASのコードを書けばよいか
66
107
  ご教授お願いいたします。