質問: SpreadsheetApp.getActiveSheet(); //シートを取得 var rowSheet=mySheet.getDataRange().getLastRow(); //シートの使用範囲のうち最終行を取得 /* ドキュメントを取得する */ var docTest=DocumentApp.openById("-----------"); //ドキュメントをIDで取得 var strDoc=docTest.getBody().getText(); //ドキュメントの内容を取得 /* メール表題、fromアドレス、差出人名を準備 */ var strSubject="テストタイトル"; //表題 var strSender="名前"; //差出人 /* シートの全ての行について社名、姓名を差し込みログに表示*/ for(var i=2;i<=rowSheet;i++){ var strSyokusyu=mySheet.getRange(i,1).getValue(); var strKarihaizokusaki=mySheet.getRange(i,2).getValue(); var strSekininsha=mySheet.getRange(i,3).getValue(); var strShimei=mySheet.getRange(i,4).getValue(); var strFurigana=mySheet.getRange(i,5).getValue(); var strTo=mySheet.getRange(i,6).getValue(); var strfile=mySheet.getRange(i,7).getValue(); var strBody=strDoc.replace(/{●●}/,strSyokusyu).replace(/{●●}/,strKarihaizokusaki).replace(/{●●}/,strSekininsha).replace(/{●●}/,strShimei).replace(/{●●}/,strFurigana); //社名、姓名を置換 Logger.log(strBody); //ドキュメントの内容をログに表示 var folder=DriveApp.getFolderById('--------------'); var files=folder.getFiles(); var attachments=[]; while(files.hasNext()){ attachments.push(files.next()); } GmailApp.sendEmail( strTo, strSubject, strBody, {attachments:attachments} ); } } ### 試したこと ドキュメントの本文に、氏名等を差し込んで、同じ内容の添付ファイルを一斉送信することは可能です。 宛先ごとに個別の添付ファイルをつける方法が見つかりません。ご教示願えれば幸いです。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答: 試したのですが、添付については、`attachment:attachmentFiles`で送信可能でした。 そもそも提示のソースで本当に送信できていますかね?(添付がないとして)。 何かエラーが出ているのではないでしょうか。 * `var arr = mySheet.getRange(2, 2, 4, 4).getValues();`がおかしい こちら、mySheetのB2:E5を固定で取っていますが、名簿情報はrowSheetで取っていたのに、ここで急に固定にする意図が分かりません。別人が書いたのでしょうか? さらに、`var strTo=arr[i][0].getValue().next();`としていますが、arrのi番目の0番目はB列です。つまり、strKarihaizokusakiです。F列にstrToがあるのに、B列を取るというのは筋が通りません。また、この仕組みだと、strSekininshaやstrFuriganaの名前のファイルを取得することになりますが、あっていますか? * `for`がおかしい 添付がつかないのは主にこのせいです。 `for(var i = 0, i= arr.length; i <1; i++)`は`for(var i = 0; i