Create a New Sheet with Formatted Text and Cells
Watch the Video!
Copy the Code!
function createNewSheet() {
//Step 1 - Activate spreadsheet
const spreadsheet = SpreadsheetApp.getActive();
//Step 1 (Optional) - Create new sheet
const newSheet = spreadsheet.insertSheet("Calendar Event Log");
//Step 2 - Declare variables for each cell
const calendarID = newSheet.getRange('a1').setValue("Calendar ID:");
const numOfDaysOut = newSheet.getRange('a2').setValue("Number of days out:");
const customFormulaCell = newSheet.getRange('a3').setValue('=if(B2="Custom", "Enter custom days out:", "")');
const eventNameCell = newSheet.getRange('d1').setValue("Event Name");
const startTimeCell = newSheet.getRange('e1').setValue("Start Time");
const endTimeCell = newSheet.getRange('f1').setValue("End Time");
const colorCell = newSheet.getRange('g1').setValue("Color");
const tagKeysCell = newSheet.getRange('h1').setValue("Tag Keys");
const creatorsCell = newSheet.getRange('i1').setValue("Creators");
const dateCreatedCell = newSheet.getRange('j1').setValue("Date Created");
const descriptionCell = newSheet.getRange('k1').setValue("Description");
const emailRemindersCell = newSheet.getRange('l1').setValue("Email Reminders (Minutes)");
const eventSeriesCell = newSheet.getRange('m1').setValue("Event Series");
const guestListCell = newSheet.getRange('n1').setValue("Guest List");
const eventIDCell = newSheet.getRange('o1').setValue("Event ID");
const lastUpdatedCell = newSheet.getRange('p1').setValue("Last Updated");
const locationCell = newSheet.getRange('q1').setValue("Location");
const popupRemindersCell = newSheet.getRange('r1').setValue("Popup Reminders (Minutes)");
const smsRemindersCell = newSheet.getRange('s1').setValue("SMS Reminders (Minutes)");
//Step 3 - Format cells
//Data validation dropdown list
spreadsheet.getRange('B2').setDataValidation(SpreadsheetApp.newDataValidation()
.setAllowInvalid(true)
.requireValueInList(['1 day', '7 days', '30 days', '60 days', '90 days', '180 days', '365 days', 'Custom'], true)
.build());
//Date format
spreadsheet.getRangeList(['E2:f', 'j1:j', 'p1:p']).activate();
spreadsheet.getActiveRangeList().setNumberFormat('M/d/yyyy H:mm:ss');
//Bold text
spreadsheet.getRangeList(['A1:A3', 'D1:s1']).activate();
spreadsheet.getActiveRangeList().setFontWeight('bold');
//Center text alignment
spreadsheet.getRange('D1:s1').activate();
spreadsheet.getActiveRangeList().setHorizontalAlignment('center');
//Manual column width adjustment
spreadsheet.getRange('D:s').activate();
spreadsheet.getActiveSheet().setColumnWidths(4,16,180);
//Fit to data column width adjustment
spreadsheet.getRange('A:A').activate();
spreadsheet.getActiveSheet().autoResizeColumns(1, 1);
//Set text font color
spreadsheet.getRange('A1').activate();
spreadsheet.getActiveRangeList().setFontColor('#0000ff');
spreadsheet.getRange('A3').activate();
spreadsheet.getActiveRangeList().setFontColor('#ff0000');
//Creates colored cell border with solid, medium border weight
spreadsheet.getRange('B1').activate();
spreadsheet.getActiveRangeList().setBorder(true, true, true, true, null, null, '#0000ff', SpreadsheetApp.BorderStyle.SOLID_MEDIUM);
spreadsheet.getRange('B3').activate();
spreadsheet.getActiveRangeList().setBorder(true, true, true, true, null, null, '#ff0000', SpreadsheetApp.BorderStyle.SOLID_MEDIUM);
}