Last active
April 6, 2022 03:19
-
-
Save rapartipoorna/6240ea53bddf3e24e118fffa6f4bccad to your computer and use it in GitHub Desktop.
[Apps Script ] script will fetch data from spreadsheet into slides. and script should be bounded to presentation document.And made changes as per your requirements per data you need
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function generateLandingPagesReport() { | |
| // Here give your data spreadsheet id | |
| var dataSpreadsheetId = "" | |
| var ss = SpreadsheetApp.openById(dataSpreadsheetId); | |
| var deck = SlidesApp.getActivePresentation(); | |
| var sheet = ss.getSheetByName('content-landing-pages'); | |
| // var values = sheet.getRange('A8:J17').getValues(); | |
| var values = sheet.getRange('A2:J3').getValues(); | |
| var slides = deck.getSlides(); | |
| var templateSlide = slides[1]; | |
| var presLength = slides.length; | |
| values.forEach(function(page){ | |
| if(page[0]){ | |
| var landingPage = page[0]; | |
| var sessions = page[1]; | |
| var newSessions = page[2]; | |
| var pagesPer = page[5]; | |
| var goalRate = page[7]; | |
| var goalValue = page[9]; | |
| //Do some math for those percentages and rounding | |
| newSessions = newSessions * 100 | |
| newSessions = Math.round(newSessions * 100) / 100 | |
| goalRate = goalRate * 100 | |
| goalRate = Math.round(goalRate * 100) / 100 | |
| templateSlide.duplicate(); //duplicate the template page | |
| slides = deck.getSlides(); //update the slides array for indexes and length | |
| newSlide = slides[2]; // declare the new page to update | |
| var shapes = (newSlide.getShapes()); | |
| shapes.forEach(function(shape){ | |
| shape.getText().replaceAllText('{{landing page}}',landingPage); | |
| shape.getText().replaceAllText('{{sessions}}',sessions); | |
| shape.getText().replaceAllText('{{new sessions}}',newSessions); | |
| shape.getText().replaceAllText('{{pages per session}}',pagesPer); | |
| shape.getText().replaceAllText('{{goal rate}}',goalRate); | |
| shape.getText().replaceAllText('{{goal value}}',goalValue); | |
| }); | |
| presLength = slides.length; | |
| newSlide.move(presLength); | |
| } // end our conditional statement | |
| }); //close our loop of values | |
| //Remove the template slide | |
| // templateSlide.remove(); | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment