Important note on my add-ons
I’ve (reluctantly) decided to stop supporting all my Apps Script add-ons, as I no longer had the time or inclination to put them through the various verification processes and upcoming add-on store process changes.
I realize that many of you may be using some of them. In order to provide some continuity, since they are open source, you are welcome to make your own copy and use them how you wish. Any developers who want to repackage and republish are also welcome to do so.
Here is the repository. You’ll also find the link to the scripts if you prefer to take a copy of already built scripts.
Summary of template syntax
- Normally a placeholder is replaced by the value in the data or global sheet.
- Where the value is recognized as a chart reference, it’s used to pick up chart from the spreadsheet. A chart id takes the format chart.sheetname.chartindex (where chartindex is its position in the sheet starting at 1 .. to deal with multiple charts on the same sheet)
- Where the value is recognized as a hosted image reference, it’s used to pick up an image at that url. An image reference is url starting with “http” or “https”.
Placeholder Example | What happens |
{{columnname}} | the value in the given column replaces the placeholder for each set of slides created. If the value is a chart reference, a LINKED chart is inserted (which will automatically updates as the source chart is updated). |
{{globalname}} | the value from the globals sheet replaces the placeholder wherever it finds it. If the value is a chart reference, a LINKED chart is inserted (which will automatically updates as the source chart is updated). |
{{{columnname}}} | For each set of slides created, if the value is a chart reference, an image of the chart is inserted (which will notautomatically updates as the source chart is updated). If the value is an image reference, the image is fetched an embedded. |
{{{globalname}}} | If the value is a chart reference, an image of the chart is inserted (which will not automatically updates as the source chart is updated). If the value is an image reference, the image is fetched an embedded. In this case the placeholder matches a global name and is not linked to any data values in the data input sheet. |
What can you do
Example
Options and settings
option | values | purpose |
Output decks | single or multiple | Single will create on deck with sets of slides duplicated for each row in the sheet data. Multiple creates a separate deck for each row in the data. |
Output base name | a name | If single is selected, the deck created will have this name. If multiple, then this will be used as the base for each deck, with suffices appended to distinguish them from each other. |
Multi deck suffix | blank or a column name | Only relevant is multiple is selected. If blank each deck will have a sequential sequence starting at 1. I a column number, the value for that column for each row will be appended to the output base name. |
Master slide indices | a comma separated list starting at 1, or blank | Only relevant if single is selected. These refer to the index number of the slides in the template deck. Any slide numbers mention here will only appear once in the deck – they won’t be replicated for for each row of data. |
Data sheet | Any of the sheets in the active spreadsheet | The selected sheet will be used as input to the merge operation. |
Start row | Any number | The row in the data at which to start. The default is 1, the first row |
Finish row | Any number | The row in the data at which to finish. The default is 0, which means the last row |
Global variable sheet | Any of the sheets in the active spreadsheet or blank | If specified, the selected sheet of name/value pairs should contain columns called name & value. The names can be used as placeholders in the slide template and values from this sheet will be substituted in the same way as values from the data sheet. |
Skip if data field(s) are null | never,any,all | Controls whether to skip creating a duplicate slide if the placeholders fields have blank data. never – will always duplicate slides, regardless if placeholder data is empty any – will skip the slide if it contains any placeholders with empty data all – will skip the slide if it all placeholders have empty data Note that any global placeholders are included in the assessment |
Data sheet
Global variable sheet
A common mistake is to forget to specify the sheet containing the globals, as it’s an optional input, so don’t forget to specify
If you are using dates, you should format them as text, otherwise, you’ll get the default JavaScript date format – for example:
Source
- Chord Snip
- Color Arranger
- Debugging Office JavaScript API add-ins
- Dicers
- Dicers Pro and advanced features
- Measure round trip and execution time from add-ons
- Merging slide templates with tabular data
- Office Add-ins – first attempt
- Orchestrating competing google and Office framework loads
- Plotting maps with overlays Sheets add-on starter
- Promise implementation for Apps Script Stripe payments
- Repeatable add-on settings layouts and style
- Sheets API – Developer Metadata
- Unpicking the Google Picker
- Watching for changes in an Office add-in
- When test add-ons doesn’t work
- Polyfill for Apps Script properties service for the Office JavaScript API
- Sankey Snip