いつもご質問に対して、分かりやすいご回答いただきありがとうございます。
Googleフォームで送信された内容をスプレッドシートにまとめて、Gmailで送信するスクリプトを作っているのですが、どうしても思うようにいかない部分があります。
Googleフォームで送信された添付ファイルをメールで送信したいのですが、フォームで送信される添付ファイルは、どれも内容が異なります。また添付が無い場合もあります。
GoogleフォームではPDFの添付ファイルを送信が可能なのですが、送信されるファイルはどれも異なる内容です。単体のPDFファイルは前回のご回答で取れるのですが、新たに送信されたPDFは取得できません。これができれば完成するのですが、最後の最後につまづいております。どうかご教示いただけないでしょうか?よろしくお願いいたします。
・Googleフォームの添付ファイルは必須ではありません。
・グーグルフォームは最大で5つのファイル添付が可能です
コード function sendEmails() { var sheet = SpreadsheetApp.openById("1mJFc4VgiLm0E79D4tWmc1TYoOOkuhNdHbBQaMOeIGNA").getSheetByName("反映"); var EMAIL_SENT = "送信OK!"; var lastrow = sheet.getLastRow(); var lastcolumn = sheet.getLastColumn(); var dataRange = sheet.getRange(2, 2,lastrow-1,lastcolumn-1) var data = dataRange.getValues(); for (var i = 0; i < data.length; ++i) { var row = data[i]; var filename = sheet.getRange(i,5).getValue(); //ファイルの名前取る var emailAddress = row[0]; //B列 var message = row[2]; //D列 var emailSent = row[4]; //F列 var options = row[3];//E列 //オプションで添付ファイル(◯◯◯◯◯◯)を設定する。フォルダーではない var attachImg = DriveApp.getFilesByName(filename).next(); var options = { "attachments":attachImg, }; //「送信OK!」の場合は無視する if (row[4] === "送信OK!") { continue } if (emailSent != EMAIL_SENT) { var subject = row[1];//C列 MailApp.sendEmail(emailAddress, subject, message, options); sheet.getRange(2 + i,lastcolumn).setValue(EMAIL_SENT); SpreadsheetApp.flush(); } } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/08 00:12