前提
https://blog.synnex.co.jp/google/gmail-gas/
上記サイトを参考に
Gmailからスプレッドシートへ転記させたいと思っています。
実現したいこと
抽出先シートのD列を作業列として利用したく、
A列~C列にGmaiのデータを抽出したいです。
発生している問題・エラーメッセージ
appendRowを使っているからなのか
D列に数式が入っているとうまく作動してくれません。
(何も入っていない状態だと問題なく動きます)
該当のソースコード
function searchMails() { const query = 'subject:〇〇 after:2023/1/1' const threads = GmailApp.search(query); const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheetByName('リスト'); // リセット const howMany = sheet.getLastRow() - 1; const range = sheet.getRange("A2:C"); if(howMany > 0){ range.clearContent(); } threads.forEach(thread => { const message = thread.getMessages()[0]; //一通目のメールのみ let date = message.getDate(); // 送信日 let fromData = message.getFrom(); // 送信元 let subject = message.getSubject(); // 件名 let data = [date, fromData, subject]; sheet.appendRow(data); }); }; ### 試したこと setValueで試してみました。 これだと1通のみしか反映されません。。 threads.forEach(thread => { const message = thread.getMessages()[0]; //一通目のメールのみ let date = message.getDate(); // 送信日 let fromData = message.getFrom(); // 送信元 let subject = message.getSubject(); // 件名 sheet.getRange(2,1).setValue(date); sheet.getRange(2,2).setValue(fromData); sheet.getRange(2,3).setValue(subject);
0 コメント