見出し画像

【未経験でも出来る!】GoogleAppsScript(GAS)|スプレッドシート×Gmailでメール作成を自動化 -vol.3-

プログラミング未経験でも簡単に習得できるGoogle Apps Script👩‍💻🔰

今回はスプシ×Gmailでメール作成を自動化するスクリプト紹介の第三弾💡
✉にファイル添付できるよう前回のスクリプトを進化させます🙆‍♀️

◎補足

今回のスクリプトはif文(条件分岐)の知識があることを前提としています。
if文についてはUdemy講座で解説しているので未修得の方は参考にしてください🙆‍♀️

◎動画で紹介したスクリプト

function myFunction(){
 
 //スプレッドシートを取得
 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = ss.getActiveSheet();
 
 //データを取得
 var rows = sheet.getLastRow()-2; //カラム行は除く
 var columns = sheet.getLastColumn();  
 var range = sheet.getRange(3,1,rows,columns);
 var datas = range.getValues();
 
 //データ(各行)に対して繰り返し
 datas.forEach(function(data){
 
   //各列のデータを取り出す
   var category = data[0];
   
   var recipient = data[1];
   var cc = data[2];
   var bcc = data[3];
   
   var subject = data[4];
   var body = data[5];
   
   var folderUrl = data[6];
   
   //添付ファイルを格納する配列の箱を準備
   var attachments = [];
   
   //フォルダURLの記載がある場合、指定フォルダ内のファイルを取得
   if(folderUrl !== ""){
     var id = folderUrl.replace("https://drive.google.com/drive/folders/",""); //スプシ記載のurlからidを抜き出し
     var folder = DriveApp.getFolderById(id); //id指定でフォルダを取得
     var files = folder.getFiles(); //フォルダ内の全ファイルを取得
     while(files.hasNext()){ //各ファイルに対して繰り返し処理
       var file = files.next(); //配列filesから1ファイルを取り出す
       attachments.push(file); //最終的に添付時に使う配列attachmentsにファイル情報を格納
     }
   }

   //メール作成・送信する際のoptionsを宣言
   var options = {
     cc:cc,
     bcc:bcc,
     attachments:attachments, //★添付ファイルの指示はここ
   }
 
   if(category === "下書き"){
     GmailApp.createDraft(recipient, subject, body, options); //下書き作成
   } else if(category === "送信"){
     GmailApp.sendEmail(recipient, subject, body, options); //送信      
   }
   
 });
 
}

最新講座はどんどんYoutubeにアップしていくので、ぜひチャンネル登録お願いします🦸‍♀️!



いいなと思ったら応援しよう!