私はGoogleスクリプトが初めてです。
コーディングのパフォーマンスを向上させる方法についてアドバイスをいただけますか? numOfEmail 変数が非常に大きい場合、パフォーマンスが低下します。
for (var i = 0; i < numOfEmail; i++)
{
var messages=threads[i].getMessages();
for (var j = 0; j < messages.length; j++)
{
sheet.getRange("A"+(lastEntry+i)).setValue(messages[j].getId());
sheet.getRange("B"+(lastEntry+i)).setValue(messages[j].getDate());
sheet.getRange("C"+(lastEntry+i)).setValue(messages[j].getFrom());
sheet.getRange("D"+(lastEntry+i)).setValue(messages[j].getSubject());
sheet.getRange("E"+(lastEntry+i)).setValue(messages[j].getTo());
sheet.getRange("F"+(lastEntry+i)).setValue(messages[j].getCc());
sheet.getRange("G"+(lastEntry+i)).setValue(messages[j].getBcc());
if(i/numOfEmail*100-oldPercentage>4)
{
oldPercentage=i/numOfEmail*100;
sheet.toast(i/numOfEmail*100+"% completed", "In Progress", 3);
}
}
}
私はグーグルに尋ねましたが、スクリプトを高速化する方法を見つけましたが、コードを変更する方法がわかりません。アドバイスよろしくお願いします。
実際、Gmail をスプレッドシートにエクスポートしてみたいと思います。私が使用しているサンプルコードは、このリンクからのものです。現在のサンプル コードでは 200 件のメールをエクスポートできますが、Gmail アカウントに約 500 件以上のメールがあるため、1000 件に変更します。コードを実行しようとすると、スクリプトの実行にかなり時間がかかり、実行が終了することはありません..プログラムがコードのどこかでハングしているようです。なぜだろう。また、スクリプトが 5 ~ 10 行のデータを更新するたびに、少なくとも 20 ~ 30 秒かかります。