Estoy copiando algunos datos de una hoja en una hoja de cálculo a una hoja en una hoja de cálculo separada. Quiero que esta función se ejecute todos los días, pero solo quiero que se ejecute en las hojas en las que el usuario la ejecutó manualmente. Hay otras hojas en la hoja de cálculo de origen que tienen información privada que no se puede compartir en la hoja de cálculo de destino.
function onOpen(e) { SpreadsheetApp.getUi() .createMenu('My Menu') .addItem('Create Read-Only', 'copyInfo') .addToUi(); } // Copies all info to a new sheet in Check Submission function copyInfo() { var copySheet = SpreadsheetApp.getActiveSheet(); var sheetName=copySheet.getName(); var pasteSpreadsheet = SpreadsheetApp.openById("1NXmdq6yCKC6oiDAQNXcovj85697__rCeVJiIT_ou_gI") //Create new sheet if one doesn't exist var newSheet = pasteSpreadsheet.getSheetByName(sheetName); if (newSheet != null) pasteSpreadsheet.deleteSheet(newSheet); newSheet = pasteSpreadsheet.insertSheet(); newSheet.setName(sheetName); //Copy and paste data // Clear the Google Sheet before copy newSheet.clear({contentsOnly: true}); // get source range var source = copySheet.getRange("B2:B"); var values = source.getValues(); // get destination range var destination = newSheet.getRange(1,1,values.length,values[0].length); // copy values to destination range destination.setValues(values) }