質問編集履歴
2
コードの更新
test
CHANGED
File without changes
|
test
CHANGED
@@ -148,13 +148,13 @@
|
|
148
148
|
|
149
149
|
if(month==2){
|
150
150
|
|
151
|
-
var numofday=29
|
151
|
+
var numofday=29 //numofdayは月の日数及び実行回数を設定するための変数、2月分はうるう年に対応して手動で設定
|
152
152
|
|
153
153
|
}
|
154
154
|
|
155
|
-
else if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){
|
155
|
+
else if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){ //
|
156
156
|
|
157
|
-
var numofday=31
|
157
|
+
var numofday=31
|
158
158
|
|
159
159
|
|
160
160
|
|
@@ -172,15 +172,11 @@
|
|
172
172
|
|
173
173
|
for(var i=1;i<=numofday;i++){
|
174
174
|
|
175
|
-
var newD=month+'月'+day+'日';
|
175
|
+
var newD=month+'月'+day+'日'; // Utilities.formatDate(new Date()+i, "Asia/Tokyo", 'MM月dd日')を試してみましたが、エラーが出たため、このような書き方にしました。
|
176
176
|
|
177
177
|
newdays.push(newD);
|
178
178
|
|
179
|
-
Logger.log('newdays');
|
180
|
-
|
181
|
-
Logger.log(newdays);
|
182
|
-
|
183
|
-
day=day+1;
|
179
|
+
day=day+1;
|
184
180
|
|
185
181
|
}
|
186
182
|
|
@@ -188,7 +184,7 @@
|
|
188
184
|
|
189
185
|
var lastC = sheet.getLastColumn();
|
190
186
|
|
191
|
-
sheet.getRange(3,1,newdays,1).setValues(newdays[V]);
|
187
|
+
sheet.getRange(3,1,newdays,1).setValues(newdays[V]); //setValuesの際にクラスを変換できないエラーが出ました。
|
192
188
|
|
193
189
|
}
|
194
190
|
|
1
コードの更新
test
CHANGED
File without changes
|
test
CHANGED
@@ -101,3 +101,97 @@
|
|
101
101
|
```
|
102
102
|
|
103
103
|
このコードを実行する際に、folderTarget.addFile(fileSS).getId()をして、SpreadsheetApp.openById(id)で日付を記入するコードを実行するように書き換えてみましたが、idが上手く取得できませんでした。
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
### 回答を頂いた後にアレンジしたコード
|
110
|
+
|
111
|
+
```GAS
|
112
|
+
|
113
|
+
var FOLDER_ID = 'コピーするフォルダ';
|
114
|
+
|
115
|
+
function creatSS() {
|
116
|
+
|
117
|
+
var templateFileId = 'テンプレのリンク';
|
118
|
+
|
119
|
+
var newdate = Utilities.formatDate(new Date(), "Asia/Tokyo", 'yyyy/MM');
|
120
|
+
|
121
|
+
var sheetName = '日報'+newdate;
|
122
|
+
|
123
|
+
var ss = SpreadsheetApp.openById(templateFileId).copy(sheetName); //スプレッドシート
|
124
|
+
|
125
|
+
var file = DriveApp.getFileById(ss.getId()); //idを取得するタイミングを変更
|
126
|
+
|
127
|
+
DriveApp.getFolderById(FOLDER_ID).addFile(file); //ファイルを移動
|
128
|
+
|
129
|
+
DriveApp.getRootFolder().removeFile(file); //ルートフォルダのファイルを削除
|
130
|
+
|
131
|
+
setdate(ss); //自動的に日付を記入するコードを実行
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
}
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
function setdate(ss) {
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
var sheet = ss.getActiveSheet(); //新しく作ったスプレッドシート
|
144
|
+
|
145
|
+
var month = new Date().getMonth()+1;
|
146
|
+
|
147
|
+
var newdays=[];
|
148
|
+
|
149
|
+
if(month==2){
|
150
|
+
|
151
|
+
var numofday=29
|
152
|
+
|
153
|
+
}
|
154
|
+
|
155
|
+
else if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){
|
156
|
+
|
157
|
+
var numofday=31
|
158
|
+
|
159
|
+
|
160
|
+
|
161
|
+
}
|
162
|
+
|
163
|
+
else if(month==2||month==4||month==6||month==9||month==11){
|
164
|
+
|
165
|
+
var numofday=30
|
166
|
+
|
167
|
+
|
168
|
+
|
169
|
+
}
|
170
|
+
|
171
|
+
var day =1
|
172
|
+
|
173
|
+
for(var i=1;i<=numofday;i++){
|
174
|
+
|
175
|
+
var newD=month+'月'+day+'日';
|
176
|
+
|
177
|
+
newdays.push(newD);
|
178
|
+
|
179
|
+
Logger.log('newdays');
|
180
|
+
|
181
|
+
Logger.log(newdays);
|
182
|
+
|
183
|
+
day=day+1;
|
184
|
+
|
185
|
+
}
|
186
|
+
|
187
|
+
for(var V = 1; V <= numofday; V++) {
|
188
|
+
|
189
|
+
var lastC = sheet.getLastColumn();
|
190
|
+
|
191
|
+
sheet.getRange(3,1,newdays,1).setValues(newdays[V]);
|
192
|
+
|
193
|
+
}
|
194
|
+
|
195
|
+
}
|
196
|
+
|
197
|
+
```
|