• Twitter
  • Github
  • Youtube
  • Gitter
  • Slideshare
  • LinkedIn

Desktop Liberation

The definitive resource for Google Apps Script and Microsoft Office automation

  • Home
    • About Desktop Liberation
    • Reusing code from this site
    • My Public GAS Library
    • Privacy and Usage Policy
    • Sitemap
  • Blog
    • Access all published posts
  • Downloads
  • APIS
    • Google API
      • Slides
      • Chrome
      • Docs
      • Drive
      • Execution
      • KnowledgeGraph
      • People
      • Sheets
    • Microsoft API
      • OneDrive
    • REST
    • Video Intelligence
    • Vimeo
    • Vision
  • Apps Script & Java Script
    • Apps Script v8
    • Add-ons
    • Javascript
    • From VBA to Google Apps Script
    • Office JavaScript API
    • Snippets
  • Cloud Platform
    • BigQuery
    • Cloud Functions
    • Firebase
    • Kubernetes
    • Google Cloud Platform
    • Google Cloud Storage
  • Databases
    • BigQuery
    • CockroachDB
    • Database abstraction
    • Elastic
    • Firebase
    • GraphQL
  • Office & VBA
    • From VBA to Google Apps Script
    • Optimization
  • Elastic
  • Full Stack
  • GraphQL
  • Kubernetes
  • Node.js
  • Redis- Vuejs
Random blog posts
  • [ June 21, 2021 ] Google Apps Script – What a difference 5 years make – Episode 2 Apps Script & Java Script
  • [ June 15, 2021 ] Google Apps Script – What a difference 5 years make Apps Script
  • [ October 16, 2019 ] Looping through files in a directory VBA
  • [ July 15, 2019 ] Use a spreadsheet as a database in 5 minutes Microsoft Office & VBA
  • [ June 13, 2019 ] 2019 – a decade in Apps Script Yearly posts
  • [ February 7, 2019 ] 2018 – yet another year in and out of Google Apps Script Yearly posts
  • [ September 22, 2017 ] Apps Script Back end platform – some thoughts on a different approach Apps Script & Java Script
  • [ August 3, 2017 ] Is it still worth creating blogposts ? Yearly posts
  • [ March 3, 2017 ] How about free VM for Chromebook owners? Docker
  • [ December 28, 2016 ] 2016 – Another year in Apps Script Yearly posts
  • [ December 1, 2016 ] App Maker – Build engaging custom apps on G Suite with minimal coding AppMaker
  • [ August 19, 2016 ] Using an Apps Script webapp to distribute assets Apps Script & Java Script
  • [ August 4, 2016 ] Change from project key to scriptid Apps Script & Java Script
  • [ May 13, 2016 ] What I’ve learned from my first play around with BigQuery/Sheets integration BigQuery
  • [ April 13, 2016 ] Targeting training material for Google Apps Scripters Apps Script & Java Script
  • [ March 14, 2016 ] A belated post – 2015 – a year in Apps Script Yearly posts
  • [ November 6, 2015 ] Null should mean something Apps Script & Java Script
  • [ June 25, 2015 ] Running JavaScript directly from Excel makes ‘going Google’ easier Javascript
  • [ March 24, 2015 ] GitHub and VBA integration GitHub
  • [ February 6, 2015 ] Some best practise notes on DbAbstraction usage Database abstraction
  • [ January 21, 2015 ] First shot at Polymer Deprecated
  • [ January 4, 2015 ] A year in the desktop liberation blog Yearly posts
  • [ January 1, 2015 ] A year in apps script and my bucket list Yearly posts
  • [ December 12, 2014 ] Google Apps Script locking and optimum wait times and the golden ratio Apps Script & Java Script
  • [ September 22, 2014 ] How many requests a second can you throw at your Google Apps Script webapp Apps Script & Java Script
  • [ July 24, 2014 ] Using universal analytics to track your Google Apps Script library usage Apps Script & Java Script
  • [ May 29, 2014 ] Parse.com as a substitute for ScriptDB in Google Apps Script Apps Script & Java Script
  • [ May 16, 2014 ] Eurovision song contest voting oddities – interactive visualization Google Visualization
  • [ May 1, 2014 ] Universal analytics – really hotting up Google Analytics
  • [ March 17, 2014 ] I’ve just been recognised as a Google Developer Expert Yearly posts
  • [ February 6, 2014 ] Google Universal Analytics – getting insight into desktop apps too Microsoft Office & VBA
  • [ February 5, 2014 ] More cool stuff you can do with Google Apps ScriptDb Apps Script & Java Script
  • [ January 27, 2014 ] Are the new Google Sheets faster than the old? Sheets specific
  • [ January 8, 2014 ] Google Apps Script Content Service – Cross Domain Puzzle Apps Script & Java Script
  • [ January 1, 2014 ] Get post data from Blogger into a google Spreadsheet with the Google Blogger API Sheets specific
  • [ December 30, 2013 ] Blog posts’ half life – why bother? Analytics
  • [ December 13, 2013 ] Accessing parse.com and scriptDB noSQL databases from Excel Databases
  • [ December 3, 2013 ] Dealing with Unix timestamps in Excel Microsoft Office & VBA
  • [ November 28, 2013 ] Shared Encryption/decryption library for Google Apps Script. Apps Script & Java Script
  • [ November 20, 2013 ] Tracking your Excel Workbooks with Google Analytics Google Analytics
  • [ November 15, 2013 ] Mitigating for changes in REST API rules and formats Microsoft Office & VBA
  • [ October 30, 2013 ] XML and JSON conversion in VBA Json
  • [ September 30, 2013 ] Excel custom functions that can lookup data in Google Apps Script ScriptDB From VBA to Google Apps Script
  • [ September 27, 2013 ] REST access to list management cloud based functions – plus a VBA example Microsoft Office & VBA
  • [ September 19, 2013 ] Validation and lookups using shared scriptDB lists scriptDB
  • [ September 1, 2013 ] Pinyin Tone converter – Google Apps Script custom functions Apps Script & Java Script
  • [ August 9, 2013 ] What does Google Autocomplete show all over the world ? Google Search
  • [ August 6, 2013 ] Google Docs to Excel Asynchronously Docs
  • [ July 9, 2013 ] Using ScriptDB as a noSQL database for non-Google Apps Script clients Databases
  • [ July 3, 2013 ] Concept browser for site navigation with d3 Apps Script & Java Script
  • [ July 1, 2013 ] Sankey diagrams direct from Excel – update Microsoft Office & VBA
  • [ June 26, 2013 ] Exploring blogs and sites by d3 tag visualization and effect on site visits Apps Script & Java Script
  • [ June 18, 2013 ] Google Fusion Big Data and D3 integration: flight data visualization D3
  • [ June 18, 2013 ] jQuery promises and exponential backoff Apps Script & Java Script
  • [ June 5, 2013 ] Playing around with Tableau Public D3
  • [ June 3, 2013 ] Visualization of Sites to Tags with d3.js D3
  • [ May 28, 2013 ] Create biased random test data in VBA Microsoft Office & VBA
  • [ May 21, 2013 ] Digest authentication and Google Apps Script Apps Script & Java Script
  • [ May 14, 2013 ] parse.com and d3.js mashup D3
  • [ May 8, 2013 ] Connections in electoral data – D3 and VBA follow on from oUseful post ScraperWiki
  • [ May 6, 2013 ] Mashing up electoral data – follow on from oUseful post ScraperWiki
  • [ April 30, 2013 ] Finding nearest match and other palettes in other fixed color schemes Colors
  • [ April 24, 2013 ] Parse.com and ScriptDB performance comparison Colors
  • [ April 19, 2013 ] More playing around with color, parse.com, scriptDb and Google Apps Script Apps Script & Java Script
  • [ April 15, 2013 ] Very interesting GAS performance results – run locally using htmlservice Apps Script & Java Script
  • [ April 10, 2013 ] Executing Google Apps Script Code directly in javascript – GAS as a CDN Apps Script & Java Script
  • [ April 3, 2013 ] Google Apps Script “execution time exceeded” woes Apps Script & Java Script
  • [ April 2, 2013 ] Google Apps Script Color Space Conversions. Apps Script & Java Script
  • [ March 30, 2013 ] Automatic documentation from VBA – including function arguments Microsoft Office & VBA
  • [ March 25, 2013 ] Using jSon/javaScript like structures in VBA Json
  • [ March 23, 2013 ] VBA procedures for CIE LabLch and HSL color scheming Colors
  • [ March 14, 2013 ] Playing around with Color on Google Apps Script Apps Script & Java Script
  • [ March 13, 2013 ] Example of automatic code updating for VBA VBA
  • [ March 12, 2013 ] VBA string manipulation optimization with custom classes Microsoft Office & VBA
  • [ March 8, 2013 ] Inherit link colors from cells – D3 sankey from Excel Microsoft Office & VBA
  • [ March 6, 2013 ] Strings and the garbage collector in VBA : optimizing string concatenation VBA
  • [ February 28, 2013 ] API of the Day: facebook fql direct from Excel and Google APPs API Specific
  • [ February 23, 2013 ] Adventures in serializing VBA classes – automatically documenting your modules Microsoft Office & VBA
  • [ February 20, 2013 ] Unused tube stations: discovered via scraperwiki- mapped with Excel and Google Maps Integrating Excel with Maps and Earth
  • [ February 18, 2013 ] Scraperwiki horsemeat data to Sankey, via Excel. Microsoft Office & VBA
  • [ January 21, 2013 ] ‘Hot doughnut’ chart in Excel Colors
  • [ January 11, 2013 ] Can you make any adSense money with a blog ? adsense
  • [ January 10, 2013 ] Calculating a friendly font color based on the fill color – Google Apps Script Colors
  • [ January 7, 2013 ] I’m awarding badges – Google Apps Script integration with Persona and Mozilla Openbadges Badges
  • [ December 20, 2012 ] Playing around with awarding badges on sites Badges
  • [ December 9, 2012 ] Getting physical again No category
  • [ December 8, 2012 ] Selecting and publishing a function from a web source Apps Script & Java Script
  • [ December 7, 2012 ] Publish and prettify source directly from a url Apps Script & Java Script
  • [ December 2, 2012 ] Zoomable d3.js partition charts straight from Excel D3
  • [ November 22, 2012 ] Select, prettify publish snippets in multiple languages from within a GIST module Apps Script & Java Script
  • [ November 22, 2012 ] Selecting specific Gist and GAS functions for publication Apps Script & Java Script
  • [ November 20, 2012 ] Publishing and prettifying Gists through google apps script Apps Script & Java Script
  • [ November 17, 2012 ] Using Google Cache to persist data across function calls Apps Script & Java Script
  • [ November 12, 2012 ] Google Apps Script Liberation – publishing your stuff Apps Script & Java Script
  • [ November 6, 2012 ] Publishing Google Apps Script code snippets Apps Script & Java Script
  • [ November 5, 2012 ] Google Apps Script – a new day – a new feature Apps Script & Java Script
  • [ November 2, 2012 ] Delegating processing to the cloud from Excel and other platforms Apps Script & Java Script
  • [ November 1, 2012 ] Keeping all those Google Apps script ‘shortcuts’ under control Apps Script & Java Script
  • [ October 31, 2012 ] Somewhere to keep those API keys: google apps script rest library entry Apps Script & Java Script
  • [ October 31, 2012 ] API library entry of the day: use builtwith.com to see how websites are built Apps Script & Java Script
  • Twitter
  • Github
  • Youtube
  • Gitter
  • Slideshare
  • LinkedIn
Home2012August

Month: August 2012

No Picture
Daily REST library

Free Geo IP API: Excel and GAS – the Daily REST library entry

August 28, 2012 0

Geo code from ip and host names Today’s API is a straightforward query per row, meaning that data is retrieved from the API using the contents of a column as the query. In this case […]

No Picture
Daily REST library

rxNorm Drug API: The Daily REST library entry for Excel and GAScript

August 22, 2012 0

Get rxNorm drug data into Excel and Google Apps Script Aside from being a little specialized, today’s API is another quite unusual one. Normally apis allow you select the format of the output through a […]

No Picture
Microsoft Office & VBA

Loading VBA code into Excel automatically from gitHub

August 21, 2012 0

Unlike Google Apps Script, which has a fine cloud based library capability, sharing and keeping code current for non-professional developers who use VBA is challenging. The use of add-ins for finished products with specific capabilities […]

No Picture
Daily REST library

Neil deGrasse Tyson quotes API: The Daily REST library entry for Excel and GAScript

August 17, 2012 0

Random Neil deGrasse Tyson quotes There’s probably no practical use to today’s API of the day, except that I am always amused by what he has to say. The other thing I wanted to look […]

No Picture
Daily REST library

UK postcode geocoding API: The Daily REST library entry for Excel and GAScript

August 16, 2012 0

Geocode and get administrative details and geoHash link  from a UK postcode directly into an Excel or Google Spreadsheet Following on from the Yahoo GeoCode entry here’s another geoCoder – this time using UK post […]

No Picture
Apps Script & Java Script

How to Embed gist code samples in Blogger

August 15, 2012 4

On this blog, and on the ramblings site there is a growing number of code samples, but of course as things evolve, they get out of date. I started to write something to embed Gist samples in […]

No Picture
From VBA to Google Apps Script

R melt for Google Apps Script and Excel/VBA: reshaping/unpivoting data

August 14, 2012 0

In Starter implementation of R-melt for Excel I introduced a one liner in Excel/VBA to transform this into this   You could consider this to be a kind of un-pivot – exploding tabulated data back into transactional […]

No Picture
No category

if this then that… for vampires

August 12, 2012 0

I came across ifttt.com (if THIS then THAT) the other day. Essentially it’s a simple way creating a trigger based on some event such as tweet mentioning you, or a facebook upload (THIS) and so […]

No Picture
Apps Script & Java Script

jSon parsing: single and double quotes and messing around with Google Apps Script and VBA

August 12, 2012 0

You have probably read that jSon works well with javaScript because ‘it is javaScript syntax’. Consider this javaScript (actually Google Apps Script).   var items = {itema:1,itemb:’b’};   Logger.log (items.itema + “,” + items.itemb); We […]

No Picture
Daily REST library

url shortening API: The Daily REST library entry for Excel and GAScript

August 10, 2012 0

Shorten URL API directly into an Excel or Google Spreadsheet Today’s API is from “ttb.li” which is a url shortening service. This is a query  by row API, populating columns in a spreadsheet row using […]

No Picture
Daily REST library

Yahoo Geocoding API: The Daily REST library entry for Excel and GAScript

August 8, 2012 0

Geocode with Yahoo API directly into an Excel or Google Spreadsheet Strictly speaking today’s API doesn’t really qualify as ‘API of the day’, since I’ve written about this before comparing a few geoCoding APIs. I’ve […]

No Picture
From VBA to Google Apps Script

Passing complex arguments with default values in VBA – like jQuery $.extend()

August 7, 2012 1

In passing arguments in VBA using jSON I covered how you could use javaScript Object syntax to pass complex arguments to VBA procedures. Today I’ll cover how to pass complex arguments where there are optional values. […]

No Picture
Daily REST library

CrunchBase who works where API: The Daily REST library entry for Excel and GAScript

August 6, 2012 1

Data from CrunchBase API directly into an Excel or Google Spreadsheet Today’s API is another query type from “crunchbase” which is a free database of corporations, people and investors. Yesterday I showed you how to get […]

No Picture
Daily REST library

CrunchBase relationships API: The Daily REST library entry for Excel and GAScript

August 6, 2012 0

Data from CrunchBase API directly into an Excel or Google Spreadsheet Today’s API is  from “crunchbase” which is a free database of corporations, people and investors. There are a number of types of query available in […]

No Picture
Daily REST library

FAA airport status API: The Daily REST library entry for Excel and GAScript

August 3, 2012 0

Today’s API is  “FAA airport status”  – a dataSet query API, populating rows in a spreadsheet using the Airport IATA code as a key Here’s the Excel code (included in cDataSet.xlsm downloadable from the ramblings site) Public […]

No Picture
Daily REST library

duckduckgo disambiguation API: The Daily REST library entry for Excel and GAScript

August 2, 2012 0

In various posts such as this one, I’ve covered new entries to the REST library but it’s been kind of haphazard. Since I’m adding these regularly I figured I’d make a quick post like this for […]

No Picture
Colors

Thematic maps and other shape coloring in one line of code

August 1, 2012 0

Going back to the theme of ‘doing complicated things in one line of code’, here’s a mash up of cDataSet, Color Ramps, Mapping and various other things. Lets say we want to create a thematic […]

Select a Category

My Books and Videos

going gas

All formats are available from O'Reilly, Amazon and all good bookshops. You can also read a preview on O'Reilly

A video course over about 8 hours and 70 lessons taking you through the basics of Apps Script and JavaScript. Available at O'Reilly, Amazon, Infinite Skills & all good media outlets

Google Apps Script for Beginners: A video course over about 8 hours and 70 lessons taking you through the basics of Apps Script and JavaScript. Available from O'Reilly, Infinite Skills and all good media outlets

bruce mcpherson is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Based on a work at http://www.mcpher.com. Permissions beyond the scope of this license may be available at code use guidelines

Book : Going Gas
Going Gas book

Whether you’re moving from Microsoft Office to Google Docs or simply want to learn how to automate Docs with Google Apps Script, this practical guide shows you by example how to work with each of the major Apps Script services. The book introduces JavaScript basics for experienced developers unfamiliar with the language, and demonstrates ways to build real-world apps using all of the Apps Script services previously covered.

Video: Apps Script for developers

In this Google Apps Script for Developers training course, expert author Bruce Mcpherson will teach you how to customize, enhance, and automate your Google Docs, Sheets, and Gmail with Google Apps Script. This course is designed for the absolute beginner, meaning no previous experience with Google Apps Script is required. You will start by learning the basics of JavaScript, including variables and types, functions, and loops and conditions. From there, Bruce will teach you about Google Apps Script, Spreadsheet service, and Document service. This video tutorial also covers properties and cache services, Gmail service, Contact service, and Calendar service. Other topics that are covered include UrlFetch service, DriveApp service, advanced services, and Google APIs. Finally, you will learn about HTML service and add-ons, including controlling the server and using APIs with add-ons.

Once you have completed this computer based training course, you will have learned how to customize, enhance, and automate your Docs, Sheets, and Gmail with Google Apps Script.

Video: Apps Script for beginners

In this course, you’ll see how Google Apps Script can integrate the functions of multiple Google services with an externally located data source to create a new custom app. For example, you’ll see how Google Apps Script pulled data from a Google Sheet and an external source, and then combined and formatted the data into a Google Doc.

The key to using Google Apps Script is understanding its underlying language – JavaScript. The course teaches you enough of the concepts and syntax of JavaScript that you’ll come away with the ability to confidently code Google Apps Script tasks on your own.

  • Twitter
  • Github
  • Youtube
  • Gitter
  • Slideshare
  • LinkedIn

bruce mcpherson is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Based on a work at http://www.mcpher.com. Permissions beyond the scope of this license may be available at code use guidelines