- // CREATING MENU IN UI OF SPREADSHEETS
- function onOpen() {
- var ui = SpreadsheetApp.getUi();
- ui.createMenu('PDF Creator by IDM')
- .addItem('Create PDF', 'savePDFs')
- .addToUi();
- }
- function savePDFs() {
- var ss = SpreadsheetApp.getActiveSpreadsheet();
- var sheet = ss.getActiveSheet();
- var sheetName = sheet.getName();
- var instructionSheet = ss.getSheetByName("Instructions");
- var week = instructionSheet.getRange("B2").getValues();
- // Get URL of spreadsheet, and remove the trailing 'edit'
- var url = ss.getUrl().replace(/edit$/,'');
- var ui = SpreadsheetApp.getUi();
- // Get SL Trigram in order to define folder for PDF output
- var username = Session.getActiveUser().getEmail();
- var trigramShiftl = username.toString().substring(0,3).toUpperCase();
- if (trigramShiftl == "IDM") {
- var folder = DriveApp.getFolderById("1zQ48Z5MZKjZs2aHk0HZKerDPjY00VhhF");
- } else if (trigramShiftl == "IDM") {
- var folder = DriveApp.getFolderById("1zQ48Z5MZKjZs2aHk0HZKerDPjY00VhhF");
- } else if (trigramShiftl == "GAE") {
- var folder = DriveApp.getFolderById("1zQ48Z5MZKjZs2aHk0HZKerDPjY00VhhF");
- } else if (trigramShiftl == "SLW") {
- var folder = DriveApp.getFolderById("1zQ48Z5MZKjZs2aHk0HZKerDPjY00VhhF");
- } else if (trigramShiftl == "YYA") {
- var folder = DriveApp.getFolderById("1zQ48Z5MZKjZs2aHk0HZKerDPjY00VhhF");
- } else if (trigramShiftl == "DKE") {
- var folder = DriveApp.getFolderById("1zQ48Z5MZKjZs2aHk0HZKerDPjY00VhhF");
- } else if (trigramShiftl == "DBA") {
- var folder = DriveApp.getFolderById("1zQ48Z5MZKjZs2aHk0HZKerDPjY00VhhF");
- } else {
- var askShiftlTrigram = ui.prompt("In which shift are you performing the report?","Insert shiftleader trigram:", ui.ButtonSet.OK)
- if (askShiftlTrigram.getSelectedButton() == ui.Button.CLOSE)
- return;
- if (askShiftlTrigram.getSelectedButton() == ui.Button.OK)
- var shiftlTrigram = askShiftlTrigram.getResponseText().toString().toUpperCase();
- if (shiftlTrigram == "IDM") {
- var folder = DriveApp.getFolderById("1zQ48Z5MZKjZs2aHk0HZKerDPjY00VhhF");
- } else if (shiftlTrigram == "VYO") {
- var folder = DriveApp.getFolderById("1zQ48Z5MZKjZs2aHk0HZKerDPjY00VhhF");
- } else if (shiftlTrigram == "PNK") {
- var folder = DriveApp.getFolderById("1zQ48Z5MZKjZs2aHk0HZKerDPjY00VhhF");
- } else if (shiftlTrigram == "GNG") {
- var folder = DriveApp.getFolderById("1zQ48Z5MZKjZs2aHk0HZKerDPjY00VhhF");
- } else if (shiftlTrigram == "TPI") {
- var folder = DriveApp.getFolderById("1zQ48Z5MZKjZs2aHk0HZKerDPjY00VhhF");
- } else {
- var error = SpreadsheetApp.getUi().alert("Shiftleader trigram not recognized!")
- return;
- }
- }
- // Ask Operator trigram to rename documents
- var ui = SpreadsheetApp.getUi();
- var askTrigramOperator = ui.prompt('PDF Creator (IDM)', 'Insert shiftleader/Op.Lead trigram?', ui.ButtonSet.OK);
- if (askTrigramOperator.getSelectedButton() == ui.Button.CLOSE)
- return;
- if (askTrigramOperator.getSelectedButton() == ui.Button.OK)
- var trigramOperator = askTrigramOperator.getResponseText();
- var trigramOperatorUpper = trigramOperator.toString().toUpperCase();
- // Ask Technician trigram to rename documents
- var askTrigramTech = ui.prompt('PDF Creator (IDM)', 'What is the OP/TN trigram?', ui.ButtonSet.OK);
- if (askTrigramTech.getSelectedButton() == ui.Button.CLOSE)
- return;
- if (askTrigramTech.getSelectedButton() == ui.Button.OK)
- var trigramTech = askTrigramTech.getResponseText();
- var trigramTechUpper = trigramTech.toString().toUpperCase();
- // Check for AREA
- if ( sheetName == "FT Rows Rasco","Ismeca") {
- var askArea = ui.prompt('PDF Creator (IDM)','What rows did you check? (example: 5/6" Ismeca)', ui.ButtonSet.OK);
- if (askArea.getSelectedButton() == ui.Button.CLOSE)
- return;
- if (askArea.getSelectedButton() == ui.Button.OK)
- var ftRows = askArea.getResponseText().toString();
- var area ="FT " + sheetName+ ftRows ;
- } else {
- var area = sheetName
- }
- // Additional parameters for exporting the sheet as a pdf
- var url_ext = 'export?exportFormat=pdf&format=pdf' //export as pdf
- '&gid=' + sheet.getSheetId() //the sheet's Id
- '&size=A4' // paper size
- '&portrait=false' // orientation, false for landscape
- '&fitw=true' // fit to width, false for actual size
- '&sheetnames=false&printtitle=false&pagenumbers=false' //hide optional headers and footers
- '&gridlines=false' // hide gridlines
- '&fzr=false'; // do not repeat row headers (frozen rows) on each page
- var options = {
- headers: {
- 'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()
- }
- }
- var data = UrlFetchApp.fetch(url + url_ext , options);
- var report = data.getBlob().getAs("application/pdf").setName("5S report_WK"+week+"_"+area+"_"+ trigramShiftl+"_"+ trigramOperatorUpper+"_"+ trigramTechUpper+".pdf");
- folder.createFile(report);
- }