【未経験でも出来る!】GoogleAppsScript(GAS)|スプレッドシート×Gmailでメール作成を自動化 -vol.5-
プログラミング未経験でも簡単に習得できる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 = []; //添付ファイルを格納する配列を生成
var status = data[7];
//完了済みデータに対する処理
if(status === "完了"){
//スプシ記載するデータを変数に代入
var result = "完了";
var message = "";
} else { //未完了データに対する処理
//フォルダ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); //ファイル情報を配列に格納
}
}
//メールの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にアップしていくので、ぜひチャンネル登録お願いします🦸♀️!