【GAS】Gmailからスプレッドシートに転記

前提

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 コメント