gasで複数のシートがあるスプレッドシートを、シートごとに別々のスプレッドシートを生成しているのですが、シート名が重複した場合、エラーで停止してしまう為、上書きさせたいです。
function q210165() {
const targetFolder = DriveApp.getFolderById('指定フォルダのID');
const sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
const newSheetName = Utilities.formatDate(new Date(), "GMT+9", "yyyy-MM-dd");
sheets.forEach(function(sheet) {
var name = sheet.getSheetName();
var files = targetFolder.getFilesByName(name);
if(files.hasNext()) {
var ss = SpreadsheetApp.openById(files.next().getId());
} else {
ss = SpreadsheetApp.create(name);
var file = DriveApp.getFileById(ss.getId());
targetFolder.addFile(file);
DriveApp.removeFile(file);
}
sheet.copyTo(ss).setName(newSheetName);
var d = ss.getSheetByName("シート1"); if(d) { ss.deleteSheet(d); }
});
}
宜しくお願い致します。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/13 05:06