スプレッドシートに、複製元のファイルや複製先のフォルダ、ファイル名をしてファイルを複製するGAS
準備するもの
GAS
function duplicateSlideAndSheet() {
// スプレッドシートから必要な情報を取得
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Sheet1"); // シート名を適切な名前に変更してください
var slideId = sheet.getRange("B1").getValue();
var sheetId = sheet.getRange("B2").getValue();
var folderId = sheet.getRange("B3").getValue();
var slideName = sheet.getRange("B4").getValue();
var sheetName = sheet.getRange("B5").getValue();
// スライドを複製
var presentation = SlidesApp.openById(slideId);
var newPresentation = DriveApp.getFileById(slideId).makeCopy(slideName, DriveApp.getFolderById(folderId));
var newSlideId = newPresentation.getId();
// スプレッドシートを複製
var spreadsheet = SpreadsheetApp.openById(sheetId);
var newSpreadsheet = DriveApp.getFileById(sheetId).makeCopy(sheetName, DriveApp.getFolderById(folderId));
var newSheetId = newSpreadsheet.getId();
// 複製されたスライドとスプレッドシートのIDをスプレッドシートに書き込む
sheet.getRange("B6").setValue(newSlideId);
sheet.getRange("B7").setValue(newSheetId);
}
出来上がったもの
![](https://hidamarino.works/wp-content/uploads/2024/05/image-2.png)
![](https://hidamarino.works/wp-content/uploads/2024/05/image-3.png)