Office 2016 For Developers
Written by Kay Ewbank   
Monday, 05 October 2015

The latest version of Microsoft Office was recently released with not much to cheer about for developers. The only change is the revamping and strengthening of the Office.js APIs so they’re more consistent across the different versions for Windows, Mac and mobile devices.

As anyone who’s developed for Office knows, Microsoft more or less got things right at one point when Visual Basic for Applications (VBA) gave you access to all the objects within Office, and customizing Office was easy. People who’d never developed could record their actions then edit the VBA, and the whole thing worked well.

VBA is still present in Office 2016, but it’s treated rather like your embarrassing uncle who drinks too much and tells jokes in bad taste at family celebrations – it is shoved right at the back of the room in a dark corner where Microsoft hopes no-one will see it.

Another embarrassing old relative is also still there in the form of Visual Tools for Office (VSTO), which gives you a way to create apps using .NET languages to create applications that use the features of the Office suite. VSTO has been mothballed since 2010, but still works with Office 2016.

So what would Microsoft like us all to use if we need to customize Office?

Office Add-ins is the main answer. This is what used to be called Apps for Office.

 

officeaddin

 

 

The Office Dev Center Getting Started document says that:

“an add-in runs inside an Office application and can interact with the contents of the Office document using our rich JavaScript API. Under the hood, an add-in is simply a web app that you can host anywhere. Using a manifest.xml file, you tell us where your web app is located and how you want it to appear. We'll take care of making it show up within Office.”

In practical terms this means it appears as a Task Pane panel in the Office app or document.

One improvement in this version is that the add-ins now work for some Office apps if you’re using Office on an iPad, and there’s support for Outlook 2016 for the Mac. In a blog post Microsoft says:

“we are currently working through completing support across Office 2016 for Mac, Office Mobile on Android and Windows 10.”

The roadmap for completing support for Excel and Word on the Mac is Q1 2016. Other missing elements are due to be added for Office Online and Office for iOS in Q4 2015 and Q1 2016. Android users, don’t hold your breath.

What is improved in this release is that there are cross-platform Excel/Word JavaScript APIs to complement the existing, more generic Office.js library. If you’re developing for Word, you get APIs that let you work with documents, paragraphs, content controls, header/footer, search, range, sections, selection, pictures and formatting.

There’s an equivalent set of Excel Office.js APIs that you can use to work with named items, worksheets, ranges, formatting, tables, and charts. It’s still a long way from what was there in Office VBA, but it’s not as limited as it was until now.

One new concept that has been added is that of ExecuteAsync. In the blog post the Office team says the addition was needed to improve performance when interacting with Excel objects, explaining:

“When you interact with Excel objects you’re going across process, and that can be rather slow to do – especially in the case of Excel Online, where cross-process is also cross network. We don’t want to hang the thread or UX of either Excel or the add-in while that’s happening.”

officeaddinsq

Banner


GitHub Announces Open Source Security Fund
03/12/2024

A new security-focused program, the GitHub Secure Open Source Fund, will invest $1.25M across 125 open source projects. The project is backed by the support of organizations including American Express [ ... ]



Rust 1.83 Improves Const Context Code Handling
12/12/2024

Rust 1.83 has been released with improvements to the handling of code running in const contexts.


More News

 

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Monday, 05 October 2015 )