前提・実現したいこと
配列が空白の場合、Slackへ通知しないようにしたいです。
現状は空白の場合でも処理するようにしているのですが、nullだと対応できないようなので困っております。
※一部のコードは削除して記載しています。
該当のソースコード
GAS
1// シートを取得し、progressValに格納 2var Sheet = spreadsheet.getSheetByName("シート名"); 3var progressVal = Sheet.getRange(1,1,Sheet.getLastRow(),Sheet.getLastColumn()).getValues(); 4 5//1行ごとに処理 6for(i=0; i<progressVal.length; i++){ 7 //各情報を取得 8 date = new Date(progressVal[i][0]); 9 code = progressVal[i][1]; 10 Status = progressVal[i][2]; 11 Submission = progressVal[i][10]; 12 13 //処理対象かをで確認する(セルが 1=対象・0=対象外) 14 if (Submission == "1" ) { 15 //処理対象の場合は各情報を格納する 16 dateArray.push([Utilities.formatDate(date,'Asia/Tokyo','yyyy/MM/dd'),code,Status]); 17 } else { 18 //デバック用 19 Logger.log((i+0) + "行目は処理対象外"); 20 } 21} 22 23// Slack通知用 24if (dateArray[1] == null) { 25 // 空白のため処理は必要ない。自分宛にその内容のメールを送信する。 26 MailApp.sendEmail(toAddress,subject,main); 27} else { 28 // Slackのチャンネル宛に必要事項を記載し投稿する。 29 UrlFetchApp.fetch(slackURL, slackOptions); 30}
自身で対応できていない事
dateArray.push([Utilities.formatDate(date,'Asia/Tokyo','yyyy/MM/dd'),code,Status]);
上記で配列に格納した情報が空白(処理対象外のみだった場合)に、SlackにslackOptions(main)で指定した定型文だけ送られてしまうため
dateArray[1]が空白の場合はSlackに送らないようにしたいですが出来ず困っています。
▼空白状態のイメージ(処理対象があった場合は、線の間にセルから取得した情報が記載されます。)
================================================
================================================
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/12/31 22:19