GoogleAppScript初心者です。
https://teratail.com/questions/16326
で既に解決済みとなっている内容に対しての追加の質問です。
こちらの質問記事の内容でやりたいことが基本的にできました。
一つのフォルダ内にある同じシート構成になっているSpreadSheetから
特定のシート名のデータのみをExcelデータに変換し、メール添付し送付したいと考えています。
上記文章表現だけでは伝えにくいので、
Googleドライブ内の、「ABC」というフォルダ直下に存在する
「1」「2」「3」・・・「5」というSpreadSheetデータ(全てのデータに「あ」タブ・「い」タブ・「う」タブが存在する)の全てのデータの中から、
「あ」タブ・「う」タブを添付送信したいと考えています。
これは理論上可能でしょうか?
もし可能であれば、コード例を記載いただけると幸いです。
###該当のソースコード
function sendMail_Excel() { // フォルダ、ファイル関係 var targetFolderIds = ["0B4WoNxJO6Cm1fm15QVd6NzFHeWRJTTZ5N1JmQW5BZE1CWURjMUJ0OFg1RFZKb3JxcktldWM"]; var targetFolder; var folderName; var objFiles; var objFile; var fileName; var key; // メール関係 var mailto = "nsa.m.yoshioka@gmail.com"; var subject = "[GoogleDrive]定期バックアップ(" + Utilities.formatDate(new Date(), 'JST', 'yyyy/MM/dd') + ")"; var body = ""; // その他 var nowDate = Utilities.formatDate(new Date(), 'JST', 'yyyyMMdd'); var fetchUrl; var fetchOpt = { "headers" : { Authorization: "Bearer " + ScriptApp.getOAuthToken() }, "muteHttpExceptions" : true }; var xlsxName; var attachmentFiles = new Array(); try { for (var i = 0; i < targetFolderIds.length; i++) { // Idから対象フォルダを取得 targetFolder = DriveApp.getFolderById(targetFolderIds[i]); folderName = targetFolder.getName(); body = body + folderName + "\n"; // 対象フォルダ以下のSpreadsheetを取得 objFiles = targetFolder.getFilesByType(MimeType.GOOGLE_SHEETS); while (objFiles.hasNext()) { objFile = objFiles.next(); key = objFile.getId(); fileName = objFile.getName(); body = body + " - " + fileName + "\n"; xlsxName = fileName + "_" + nowDate + ".xlsx"; fetchUrl = "https://docs.google.com/feeds/download/spreadsheets/Export?key=" + key + "&exportFormat=xlsx"; attachmentFiles.push(UrlFetchApp.fetch(fetchUrl, fetchOpt).getBlob().setName(xlsxName)); } } } catch(e){ subject = "ERROR:" + subject; body = "エラー : " + e.message; } // メール送信 MailApp.sendEmail(mailto, subject, body, {attachments:attachmentFiles}); }
何かを試す程の知識がなく、質問させていただきました。
ご容赦願います。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/12 02:36 編集
2017/11/13 02:39
2017/11/14 05:58 編集
2017/11/16 03:47
2017/11/28 12:27