【やりたいこと】
スプレッドに表を作成。
タスクの実施未実施、未実施者へ自動で催促のメール配信をしたい。
(縦に名前とアドレス、横に案件名)
【エラー】※内容
・TypeError:nillのメソッド「getDataRange」を呼び出せません。(行5、ファイル「進捗①」)
上記のようなエラーが発生し、メールを配信することができない状態です。
以前は縦と横が逆のバージョンを作成し、そちらはうまく起動しているのですがこのバージョンがうまく起動しません。
(縦に案件名、横に名前とアドレス)
【作成したスクリプト】
function timeline() { var mySpreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var mySheet = mySpreadsheet.getSheetByName("進捗状況"); //対象スプレッドシートのシート名を記載 var myEndColumn = mySheet.getLastColumn(); //最終列取得 var myEndRow = mySheet.getLastRow(); //最終行取得 var myRange = mySheet.getDataRange(); //sheetの範囲指定(全部) var myValues = myRange.getValues(); //指定した範囲の値を格納 var today = new Date(); //今日の日付を取得 if(1<=today.getDay()&&today.getDay()<=5){ //月曜日~金曜日のみ実行 for (var y = 7;y<myEndRow;y++){ //縦にループ var myWorking = ""; //未完了案件格納用 if(myValues[y][1] != ""){ //E-mailが空白以外の場合 for (var x = 3;x<myEndColumn;x++){ //yokoにループ if((myValues[2][x] == "ON") && (myValues[4][x] <= today) && (myValues[y][x] == "未")){ //メール送信=ON、メール送信開始日が過ぎてる、未完了の場合 //未完了案件情報を格納 myWorking = myWorking + "・" + myValues[0][x] + "\n" + " ⇒締切日:" + Utilities.formatDate(myValues[3][x],"JST","yyyy/MM/dd") + " /完了人数:" + myValues[6][x] + "\n" + myValues[1][x] + "\n\n"; } } if(myWorking != ""){ //未完了案件情報が空白以外の場合 //メールオプション設定 var option = new Object; option.noReply = true; //送信者をnoReplyに //宛先セット-------------------------------------------------- myMailTo1 = myValues[y][1]; //件名セット-------------------------------------------------- mySubject1 = "【timeline】対応状況_" + Utilities.formatDate(today,"JST","yyyy/MM/dd"); //本文セット-------------------------------------------------- myBody1 = "※これはGASからの自動送信メールになります。\n\n" + myValues[y][0] +"さん\n\n" + "お疲れ様です。\n\n" + "テスト配信です\n\n" + myWorking + "\n" + "【リスト】スプレッドシートのリンクはこちら。\n" + "https://※※スプレッドのリンクを指定※※\n\n" + "よろしくお願いいたします。\n\n"; //------------------------------------------------------------ GmailApp.sendEmail(myMailTo1,mySubject1,myBody1,option) //メール送信 } } } } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/13 07:10