前提・実現したいこと
Gmailにドリンクオーダーの通知が入ります。
その通知内容をGASを使って、スプレッドシートにまとめて、月末に料金計算をしたいと思っています。
例)ドリンクオーダーで下記のようなメールが届きます。
A会議室からドリンクオーダーがありました。
コーヒー×1
お茶×1
お水×1
上記メールの受信日時、会議室名(上記の場合はA会議室)、オーダーの内容(コーヒー×1、お茶×1)をスプレッドシートにまとめたい。
その際に、“コーヒー×1”が一つのセルに入ってしまい、あとで集計ができません。
その為、“コーヒー×1” を “コーヒー” と “1” を記入するセル分けたいです。
発生している問題・エラーメッセージ
下記46行目がエラーメッセージが出ます。
これです→ sh.getRange(‘C1’).splitTextToColumns(‘‘);}
メールからスプレッドシートにまとめるコードは下記のように書いています。
function getMailToiawase()
{var sheet = SpreadsheetApp.getActiveSheet();
var search = 'からの注文のお知らせ';
var start = 0;
var max = 100;
var thds = GmailApp.search(search,start,max);
var row = 1;
for(var n in thds)
{var thd = thds[n];
var msgs = thd.getMessages();
for(m in msgs)
{var msg = msgs[m];
var date = msg.getDate();
var body = msg.getBody();
var bodys= body.replace('から以下の注文がありました。','')
.replace('You have received a request from R1.','')
.replace('Items','')
.replace('注文内容','')
.replace('-----------------------------------------------------','')
.replace('このメールは、[ACALL]より送信しております。','')
.replace('直接ご返信いただけませんのでご注意ください。','')
.replace('This is an automated email system at ACALL Inc.','')
.replace('Please do not reply to this message.','')
.replace('https://www.acall.jp ','');
var ary = bodys.split("\n");
var meetingroom = ary[0].substring(0).replace('\r','');
var tea1 = ary[3].substring(0).replace('\r','');
var tea2 = ary[4].substring(0).replace('\r','');
var tea3 = ary[5].substring(0).replace('\r','');
var tea4 = ary[6].substring(0).replace('\r','');
var tea5 = ary[7].substring(0).replace('\r','');
sheet.getRange(row,1).setValue(date); sheet.getRange(row,2).setValue(meetingroom); sheet.getRange(row,3).setValue(tea1); sheet.getRange(row,4).setValue(tea2); sheet.getRange(row,5).setValue(tea3); sheet.getRange(row,6).setValue(tea4); sheet.getRange(row,7).setValue(tea5); row++; } }
var range = sheet.getRange("A:G");
range.sort({column: 1, ascending: true});
{var sh = ss.getActiveSheet();
sh.getRange(‘C1’).splitTextToColumns(‘‘);}
}
該当のソースコード
{var sh = ss.getActiveSheet();
sh.getRange(‘C1’).splitTextToColumns(‘‘);}
試したこと
元々のコードが悪いのかと思い、メールからスプレッドシートへ転記する
補足情報(FW/ツールのバージョンなど)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/05 14:20
2020/07/05 23:19
2020/07/06 00:00
2020/07/06 02:07
2020/07/09 04:37
2020/07/09 04:45