質問編集履歴

1

コードをすべて掲載しました。

2021/07/30 10:27

投稿

Elly_
Elly_

スコア11

test CHANGED
File without changes
test CHANGED
@@ -30,7 +30,41 @@
30
30
 
31
31
  ```ここに言語名を入力
32
32
 
33
+ // 本日のTODOを作成する
34
+
35
+ function addTodoSheet() {
36
+
37
+
38
+
39
+ // 前日からコピーする
40
+
41
+ const ss = SpreadsheetApp.getActiveSpreadsheet();
42
+
43
+
44
+
45
+ const yesterday = getYesterdayYMD()
46
+
47
+ const today = getNowYMD()
48
+
49
+
50
+
51
+ const sh = ss.getSheetByName(yesterday)
52
+
53
+ sh.copyTo(ss).setName(today)
54
+
55
+ const todaySheet = ss.getSheetByName(today)
56
+
57
+
58
+
59
+ ss.setActiveSheet(todaySheet)
60
+
61
+ ss.moveActiveSheet(1)
62
+
63
+ ss.setActiveSheet(todaySheet)
64
+
65
+
66
+
33
- // TODOを初期化する
67
+ // TODOを初期化する
34
68
 
35
69
  const lastRow = sh.getLastRow();
36
70
 
@@ -62,6 +96,78 @@
62
96
 
63
97
  }
64
98
 
99
+
100
+
101
+ }
102
+
103
+
104
+
105
+ // yyyymmdd形式で日付を取得する
106
+
107
+ function getNowYMD(){
108
+
109
+ const dt = new Date();
110
+
111
+ const y = dt.getFullYear();
112
+
113
+ const m = ("00" + (dt.getMonth()+1)).slice(-2);
114
+
115
+ const d = ("00" + dt.getDate()).slice(-2);
116
+
117
+ const result = m + d;
118
+
119
+ return result;
120
+
121
+ }
122
+
123
+
124
+
125
+ // yyyymmdd形式で日付を取得する
126
+
127
+ function getYesterdayYMD(){
128
+
129
+ const dt = new Date();
130
+
131
+ dt.setDate(dt.getDate() - 1);
132
+
133
+ const y = dt.getFullYear();
134
+
135
+ const m = ("00" + (dt.getMonth()+1)).slice(-2);
136
+
137
+ const d = ("00" + (dt.getDate())).slice(-2);
138
+
139
+ const result = m + d;
140
+
141
+ return result;
142
+
143
+ }
144
+
145
+
146
+
147
+ // スプレッドシートのメニューからPDF作成用の関数を実行出来るように、「スクリプト」というメニューを追加。
148
+
149
+ function onOpen() {
150
+
151
+ const sheet = SpreadsheetApp.getActiveSpreadsheet();
152
+
153
+ const entries = [
154
+
155
+ {
156
+
157
+ name : "TODO作成",
158
+
159
+ functionName : "addTodoSheet"
160
+
161
+ },
162
+
163
+ ];
164
+
165
+ sheet.addMenu("スクリプト", entries);
166
+
167
+ };
168
+
169
+
170
+
65
171
  ```
66
172
 
67
173