gas-demoman/Code.gs

68 lines
2.4 KiB
Plaintext
Raw Normal View History

2024-06-24 07:00:53 -05:00
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Demographic Manager')
.addItem('Initialize Spreadsheet', 'spread_init')
.addItem('Regenerate Reporting Spreadsheets', 'regenerate')
.addToUi()
}
function spread_init() {
var ui = SpreadsheetApp.getUi();
// This is a destructive operation, so prompt the user.
var response = ui.alert(
'Initialize spreadsheet',
'Warning: if you click yes, the spreadsheet will delete data inside itself. Make a backup before running this operation. Continue?',
ui.ButtonSet.YES_NO_CANCEL
);
if (response == ui.Button.NO) {
ui.alert("Canceled the initialization of the spreadsheet.")
return;
} else if (response == ui.Button.CANCEL) {
ui.alert("Canceled the initialization of the spreadsheet.")
return;
}
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet()
var sheetsToRemove = spreadsheet.getSheets()
for (var sheet = 0; sheet < sheetsToRemove.length; sheet++) {
try {
spreadsheet.deleteSheet(sheetsToRemove[sheet]);
} catch { // ran out of spreadsheets to nuke, so rename it to the first thing we need
spreadsheet.getSheets()[0].setName("*Demographic Data")
}
}
// take care of demographic data layout
var sheet = spreadsheet.getSheets()[0]
sheet.getRange('A1').activate();
sheet.getCurrentCell().setValue('Site Name');
sheet.getRange('B1').activate();
sheet.getCurrentCell().setValue('Count');
sheet.getRange('C1').activate();
sheet.getCurrentCell().setValue('Age');
sheet.getRange('D1').activate();
sheet.getCurrentCell().setValue('Gender');
sheet.getRange('E1').activate();
sheet.getCurrentCell().setValue('Ethnicity');
sheet.getRange('F1').activate();
sheet.getCurrentCell().setValue('Race');
sheet.getRange('F2').activate();
var newSheet = spreadsheet.insertSheet();
newSheet.setName("*Site Information")
newSheet.getRange('A1').activate();
newSheet.getCurrentCell().setValue('Site Name');
newSheet.getRange('B1').activate();
newSheet.getCurrentCell().setValue('Date');
newSheet.getRange('C1').activate();
newSheet.getCurrentCell().setValue('Time');
newSheet.getRange('D1').activate();
newSheet.getCurrentCell().setValue('Those Present');
newSheet.getRange('E1').activate();
newSheet.getCurrentCell().setValue('Data Leads');
newSheet.getRange('F1').activate();
newSheet.getCurrentCell().setValue('Who Collected?');
newSheet.getRange('F2').activate();
}