質問編集履歴

1

シートを取得し、progressValに格納します。

2020/10/05 03:29

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -48,114 +48,112 @@
48
48
 
49
49
  var activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet(); // スプレッドシート
50
50
 
51
+ var progressSheet = activeSpreadsheet.getSheetByName("●●●");//参照するシート名
52
+
53
+ var progressVal = progressSheet.getRange(7,1,progressSheet.getLastRow(),progressSheet.getLastColumn()).getValues();
54
+
55
+
56
+
51
- var activeSheet = activeSpreadsheet.getActiveSheet(); // アクティブシート
57
+ var activeCell = progressSheet.getActiveCell(); // アクティブセル
58
+
52
-
59
+ // 今日の日付を取得
60
+
61
+  var todayDate = new Date();
62
+
63
+ var targetDate = new Date(todayDate.getFullYear(),todayDate.getMonth(),todayDate.getDate());
64
+
65
+
66
+
67
+ //繰り返し
68
+
69
+ var lpDueDate;
70
+
71
+ var eventStatus;
72
+
73
+
74
+
75
+ var lpDueDateArray = [[],[]];
76
+
77
+
78
+
79
+ for(i=0; i<progressVal.length; i++){
80
+
81
+ lpDueDate = new Date(progressVal[i][9]);
82
+
83
+ eventStatus = progressVal[i][3];
84
+
85
+ //ステータスでの処理判定
86
+
87
+ if (Utilities.formatDate(lpDueDate,'Asia/Tokyo','yyyyMMdd') != "20200401") {
88
+
53
- if(activeSheet.getName() != "●●●"){//参照するシート名
89
+ if (lpDueDate.getTime() <= targetDate.getTime()) {
90
+
54
-
91
+ if (eventStatus == "0_●●●"
92
+
93
+ || eventStatus == "1_●●●"
94
+
95
+ || eventStatus == "2_●●●"
96
+
97
+ || eventStatus == "3_●●●"
98
+
99
+ || eventStatus == "4_●●●"
100
+
101
+ || eventStatus == "5_●●●") {
102
+
103
+ Logger.log("【申込締切日チェック】 " + (i+7) + "行目はステータスが" + eventStatus + "なので処理対象");
104
+
105
+ lpDueDateArray.push([Utilities.formatDate(lpDueDate,'Asia/Tokyo','yyyyMMdd'),eventStatus]);
106
+
55
- return;
107
+ } else {
108
+
109
+ // デバッグ用
110
+
111
+ Logger.log("【申込締切日チェック】 " + (i+7) + "行目はステータスが" + eventStatus + "なので処理対象外");
112
+
113
+ }
114
+
115
+
116
+
117
+ } else {
118
+
119
+ // デバッグ用
120
+
121
+ Logger.log("【申込締切日チェック】 " + (i+7) + "行目は申込締切日が" + Utilities.formatDate(lpDueDate,'Asia/Tokyo','yyyyMMdd') + "で先なので処理対象外");
122
+
123
+ }
124
+
125
+ }
56
126
 
57
127
  }
58
128
 
59
- var activeCell = activeSheet.getActiveCell(); // アクティブセル
129
+ if(activeCell.getColumn() == 3 && activeCell.getValues() >= 0){//作業日当日より過去が対象
60
-
61
- // 今日の日付を取得
130
+
62
-
63
-  var todayDate = new Date();
64
-
65
- var targetDate = new Date(todayDate.getFullYear(),todayDate.getMonth(),todayDate.getDate());
66
-
67
-
68
-
69
- //繰り返し
131
+ //各取得データ
70
-
71
- var lpDueDate;
132
+
72
-
73
- var eventStatus;
74
-
75
-
76
-
77
- var lpDueDateArray = [[],[]];
78
-
79
-
80
-
81
- for(i=0; i<progressVal.length; i++){
82
-
83
- lpDueDate = new Date(progressVal[i][9]);
84
-
85
- eventStatus = progressVal[i][3];
86
-
87
- //ステータスでの処理判定
88
-
89
- if (Utilities.formatDate(lpDueDate,'Asia/Tokyo','yyyyMMdd') != "20200401") {
90
-
91
- if (lpDueDate.getTime() <= targetDate.getTime()) {
133
+ var date = progressSheet.getRange(activeCell.getRow(), 9).getValues();//申込締切日
92
-
93
- if (eventStatus == "0_●●●"
134
+
94
-
95
- || eventStatus == "1_●●●"
96
-
97
- || eventStatus == "2_●●●"
98
-
99
- || eventStatus == "3_●●●"
100
-
101
- || eventStatus == "4_●●●"
102
-
103
- || eventStatus == "5_●●●") {
104
-
105
- Logger.log("【申込締切日チェック】 " + (i+7) + "行目はステータスが" + eventStatus + "なので処理対象");
135
+ var eventdate = progressSheet.getRange(activeCell.getRow(), 10).getValues();//LIVE開催日
106
-
136
+
107
- lpDueDateArray.push([Utilities.formatDate(lpDueDate,'Asia/Tokyo','yyyyMMdd'),eventStatus]);
137
+ lpDueDateArray.push([Utilities.formatDate(eventdate,'Asia/Tokyo','yyyyMMdd')]);//日本時間へ変換
138
+
108
-
139
+ var opentime = progressSheet.getRange(activeCell.getRow(), 11).getValues();//開始時間
140
+
109
- } else {
141
+ var name = progressSheet.getRange(activeCell.getRow(), 13).getValues();//LIVE名
142
+
110
-
143
+ var taskNo = progressSheet.getRange(activeCell.getRow(), 1).getValues();//管理番号
144
+
145
+ var status = progressSheet.getRange(activeCell.getRow(), 2).getValues();//ステータス
146
+
111
- // デバッグ用
147
+ // 送信するSlackのテキスト
148
+
112
-
149
+ var slackText = "申込締切日の期日が近づいているか、超過しているので、ご対応をお願いします。\n" +
150
+
113
- Logger.log("【申込締切日チェック】 " + (i+7) + "行目はステータスが" + eventStatus + "なので処理対象外");
151
+ date + eventdate + opentime + name + taskNo + status + "\n"
114
-
115
- }
152
+
116
-
117
-
118
-
119
- } else {
120
-
121
- // デバッグ用
153
+ sendSlack(slackText);
122
-
123
- Logger.log("【申込締切日チェック】 " + (i+7) + "行目は申込締切日が" + Utilities.formatDate(lpDueDate,'Asia/Tokyo','yyyyMMdd') + "で先なので処理対象外");
124
-
125
- }
126
-
127
- }
128
154
 
129
155
  }
130
156
 
131
- if(activeCell.getColumn() == 3 && activeCell.getValues() >= 0){//作業日当日より過去が対象
132
-
133
- //各取得データ
134
-
135
- var date = activeSheet.getRange(activeCell.getRow(), 9).getValues();//申込締切日
136
-
137
- var eventdate = activeSheet.getRange(activeCell.getRow(), 10).getValues();//LIVE開催日
138
-
139
- lpDueDateArray.push([Utilities.formatDate(eventdate,'Asia/Tokyo','yyyyMMdd')]);//日本時間へ変換
140
-
141
- var opentime = activeSheet.getRange(activeCell.getRow(), 11).getValues();//開始時間
142
-
143
- var name = activeSheet.getRange(activeCell.getRow(), 13).getValues();//LIVE名
144
-
145
- var taskNo = activeSheet.getRange(activeCell.getRow(), 1).getValues();//管理番号
146
-
147
- var status = activeSheet.getRange(activeCell.getRow(), 2).getValues();//ステータス
148
-
149
- // 送信するSlackのテキスト
150
-
151
- var slackText = "申込締切日の期日が近づいているか、超過しているので、ご対応をお願いします。\n" +
152
-
153
- date + eventdate + opentime + name + taskNo + status + "\n"
154
-
155
- sendSlack(slackText);
156
-
157
- }
158
-
159
157
  }
160
158
 
161
159
 
@@ -178,7 +176,7 @@
178
176
 
179
177
  "text" : "<@●●●>\n" + slackText,//メンションと通知内容 
180
178
 
181
- "link_names" : 1,//API関係
179
+ "link_names" : 1,
182
180
 
183
181
  "username" : "●●●"//名前
184
182