前提・実現したいこと
GAS初心者です。
問合せフォームからGmailに届いたデータをスプレッドシートに転記し、
対応状況の管理を行いたいと思っております。
発生している問題・エラーメッセージ
転記は上手くいったのですが、電話番号及び携帯電話の「0」落ちが
起きてしまい、対応に困っています。
追記スタイルでかつ、0落ちも防ぐにはどのような記述をすればよいでしょうか・・・
該当のソースコード
GAS
1function myFunction() { 2 var sheet = SpreadsheetApp.getActiveSheet(); 3 4 var query = 'label:(00_hp問合せ-10-23資料dw)'; 5 var threads = GmailApp.search(query, 0, 30); 6 var messages = GmailApp.getMessagesForThreads(threads); 7 8 var valMsgs = []; 9 10 for(var i=0; i < messages.length; i++) { 11 for(var j=0; j < messages[i].length; j++) { 12 var id = messages[i][j].getId(); 13 var date = messages[i][j].getDate(); 14 var from = messages[i][j].getFrom(); 15 var body = messages[i][j].getPlainBody(); 16 var lastRow = sheet.getLastRow() + 1; 17 var range = sheet.getRange(lastRow, 1); 18 19 sheet.appendRow([ 20 date, 21 from, 22 fetchData(body, '会社名:', '\r'), 23 fetchData(body, 'お名前(姓):', '\r'), 24 fetchData(body, 'お名前(名):', '\r'), 25 fetchData(body, '電話番号:', '\r'), 26 fetchData(body, 'メールアドレス:', '\r'), 27 fetchData(body, '携帯電話:', '\r'), 28 fetchData(body, '登録者:', '\r'), 29 fetchData(body, '顧客主担当:', '\r'), 30 fetchData(body, '担当エリア:', '\r'), 31 fetchData(body, '資料:', '\r'), 32 ]); 33 } 34 } 35} 36 37function fetchData(str, pre, suf) { 38 var reg = new RegExp(pre + '.*?' + suf); 39 var data = str.match(reg)[0] 40 .replace(pre, '') 41 .replace(suf, ''); 42 return data; 43}
試したこと
var lastRow = sheet.getLastRow() + 1;
var range = sheet.getRange(lastRow, 1);
range.setNumberFormat('@');
range.setValue(fetchData(body, '携帯電話:', '\r'));
を
fetchData(body, '資料:', '\r'),
]);
のすぐ後ろに付けて試したところ、0落ちはなくなったのですが、
次の行に追記されてしまいます。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。