質問編集履歴
1
コードをすべて掲載しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -14,7 +14,24 @@
|
|
14
14
|
### 該当のソースコード
|
15
15
|
|
16
16
|
```ここに言語名を入力
|
17
|
+
// 本日のTODOを作成する
|
18
|
+
function addTodoSheet() {
|
19
|
+
|
20
|
+
// 前日からコピーする
|
21
|
+
const ss = SpreadsheetApp.getActiveSpreadsheet();
|
22
|
+
|
23
|
+
const yesterday = getYesterdayYMD()
|
24
|
+
const today = getNowYMD()
|
25
|
+
|
26
|
+
const sh = ss.getSheetByName(yesterday)
|
27
|
+
sh.copyTo(ss).setName(today)
|
28
|
+
const todaySheet = ss.getSheetByName(today)
|
29
|
+
|
30
|
+
ss.setActiveSheet(todaySheet)
|
31
|
+
ss.moveActiveSheet(1)
|
32
|
+
ss.setActiveSheet(todaySheet)
|
33
|
+
|
17
|
-
|
34
|
+
// TODOを初期化する
|
18
35
|
const lastRow = sh.getLastRow();
|
19
36
|
const nsh = ss.getActiveSheet();
|
20
37
|
for(let i = 1; i <= lastRow; i++) {
|
@@ -30,6 +47,42 @@
|
|
30
47
|
nsh.deleteRows(i);
|
31
48
|
}
|
32
49
|
}
|
50
|
+
|
51
|
+
}
|
52
|
+
|
53
|
+
// yyyymmdd形式で日付を取得する
|
54
|
+
function getNowYMD(){
|
55
|
+
const dt = new Date();
|
56
|
+
const y = dt.getFullYear();
|
57
|
+
const m = ("00" + (dt.getMonth()+1)).slice(-2);
|
58
|
+
const d = ("00" + dt.getDate()).slice(-2);
|
59
|
+
const result = m + d;
|
60
|
+
return result;
|
61
|
+
}
|
62
|
+
|
63
|
+
// yyyymmdd形式で日付を取得する
|
64
|
+
function getYesterdayYMD(){
|
65
|
+
const dt = new Date();
|
66
|
+
dt.setDate(dt.getDate() - 1);
|
67
|
+
const y = dt.getFullYear();
|
68
|
+
const m = ("00" + (dt.getMonth()+1)).slice(-2);
|
69
|
+
const d = ("00" + (dt.getDate())).slice(-2);
|
70
|
+
const result = m + d;
|
71
|
+
return result;
|
72
|
+
}
|
73
|
+
|
74
|
+
// スプレッドシートのメニューからPDF作成用の関数を実行出来るように、「スクリプト」というメニューを追加。
|
75
|
+
function onOpen() {
|
76
|
+
const sheet = SpreadsheetApp.getActiveSpreadsheet();
|
77
|
+
const entries = [
|
78
|
+
{
|
79
|
+
name : "TODO作成",
|
80
|
+
functionName : "addTodoSheet"
|
81
|
+
},
|
82
|
+
];
|
83
|
+
sheet.addMenu("スクリプト", entries);
|
84
|
+
};
|
85
|
+
|
33
86
|
```
|
34
87
|
|
35
88
|
### 試したこと
|