Microsoft made its decision several years ago on the language to succeed VBA, and it will be JavaScript. They are currently developing the API that will underlay the new macro language, and expect to make it available on all Office endpoints (Windows & Mac desktop, Office Online, iOS, Android, Windows phone).
The JavaScript code will live on a server, so it will be easy to update. It will also run asynchronously (unlike VBA)—so you need to program in waits for the values to update on the worksheet or document before proceeding.
Microsoft chose JavaScript because the language is widely known in the programming community and continues to be taught in universities. JavaScript runtime engines are also universally available in endpoints like iOS and Android. Runtime engines for other languages—not so much.
The object model for Excel (the application I am most familiar with) is currently usable, but incomplete. Microsoft just published release 1.4, and appears to be coming out with new releases several times a year.
All JavaScript arrays are zero based and one dimension. If you need a two dimension array, you need to use the closest equivalent, which is an array of one dimensional arrays. JavaScript is very particular about capitalization, but doesn’t care at all about variable type. To an experienced VBA programmer, these are definitely going to be stumbling blocks as you learn the language.
There is no JavaScript macro recorder at present. So there is no easy path into automation for the office workers who need a little bit of productivity but whose day job has nothing to do with the corporate IT department. Since the overwhelming majority of people writing VBA code have little or no formal programming training, I expect VBA to live on for many, many years to come.
Don’t expect JavaScript macros to be speed demons. Current benchmarks are a lot slower than VBA. Instead, realize that the real benefit of JavaScript macros is that they will work on endpoints that will never support VBA, such as iOS, Android or Office Online.
If you want to read up on how JavaScript will be implemented, one of the developers Mikhail Zlatkovsky has an ebook (Building Office Add-ins using Office.js) he is keeping up to date with each new release.
Partager