見出し画像

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

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

今回はスプシ×Gmailでメール作成を自動化するスクリプト紹介の第四弾💡
実行結果をスプシに記載するよう前回のスクリプトを進化させます🙆‍♀️

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

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();
 
 //配列を宣言
 var array = [];  
 
 //データ(各行)に対して繰り返し
 datas.forEach(function(data){
 
   try{
   
     //各列からデータを抜き出し
     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/","");
       var folder = DriveApp.getFolderById(id);
       var files = folder.getFiles();
       while(files.hasNext()){
         var file = files.next();
         attachments.push(file); //取得したファイル情報を配列attachmentsに格納
       }
     }
     
     //メールのoptionsを宣言
     var options = {
       cc:cc,
       bcc:bcc,
       attachments:attachments,
     }
     
     //メールを下書き作成or送信
     if(category === "下書き"){
       GmailApp.createDraft(recipient, subject, body, options); //下書き作成
     } else if(category === "送信"){
       GmailApp.sendEmail(recipient, subject, body, options); //送信      
     }
     
     //変数にデータを格納(エラーが出なかった場合の結果)
     var result = "完了";
     var message = "";
   
 } catch(e) {
   
   //変数にデータを格納(エラーが出た場合の結果)
   var result = "error";
   var message = e;
   
 } finally{
   
   //シートに書き込むデータを配列に格納
   array.push([result,message]);
   
 }
 
 });
 
 //データ記載する範囲を取得
 var outputRange = sheet.getRange(3,8,rows,2);
 
 //範囲にデータを書き込み
 outputRange.setValues(array);
 
}

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




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