Web Add-ins (Word): Tabs and Tabstops – extending the API using OOXML

July 14, 2018

A few days ago I encountered a question on Stack Overflow about using tabs to align content in a Word document. The required result was something like this: I started looking at the Word JS API documentation and realized there is nothing in that object model for inserting tabs or defining tab stops.


VBA->JS: console.log = Debug.Print

July 11, 2018

One of the most useful methods for debugging VBA is Debug.Print, to see what variables contain or what a statement returns. JavaScript has a similar capability: console.log();.


VBA->JS: Loading properties

July 9, 2018

The most recent post in this series introduced the concept of loading properties from the Word object before being able to work with them. The line of code in question is range.load(“text”); from the Basic API snippet for Script Lab. This article goes into that concept in more depth.


VBA->JS: A first look at the Word JS object model using Script Lab

March 28, 2018

If you’re curious about the Office JS API application object models and want to get acquainted you can do so without any investment other than time. All you need is a Microsoft account and Office 365 / Office 2016 installed on your machine (Windows or Mac) or access to Office Online. Then you can install […]


Office JS – APIs: State of the technology

March 23, 2018

Since last I wrote about “Web Add-ins” and the Office JavaScript API a lot has happened. Office 2016 with the updated APIs has been released and the APIs are constantly being up-dated. Those with a subscription will receive the updates more regularly than anyone who has installed Office from an msi. Web add-ins for Office […]


Web Add-ins: Load, modify and insert WordOpenXML “template” file

August 27, 2015

The previous post discussed how to find out what Word Open XML is required in order to insert a particular type of content. This article will consider a practical example and demonstrate how the Word Open XML can be stored in a resource file, then loaded and modified by JavaScript code before being inserted into […]


Web Add-ins: Using Office Open XML to extend the JavaScript APIs

August 26, 2015

In both the posts about Coercion types in Word Web Add-ins and reading built-in document properties a key point is using the Word Open XML file format in order to achieve something not available in the APIs. This approach works only in Word and it can be used for almost anything. Even the newer, extended […]


Web Add-ins: Async Loops, XML in JS & asyncContext

August 14, 2015

I hope you’ve had a chance to think about the code in the previous post for reading the value of a document property. This post will consider the problem of looping when async calls are involved, using that as the basis for the discussion.


Web Add-ins: Reading Word Document Properties

August 13, 2015

Besides writing to a specified place in a document, the other major thing an “App for Word” can do is communicate with Custom XML Parts. Mainly, I suppose the reason this was included in the original APIs is because Word can link a content control to a node in a Custom XML Part. Changing the […]


Web Add-ins: development resources

August 10, 2015

Here’s another tool where you can try out JavaScript, on-line: JS Fiddle. The link is to the tutorial page, in the documentation. The actual editor is here. Microsoft provides a number of resources, besides the documentation on MSDN, for learning about the Office (2013) APIs.


Web-Addins: Intellisense for Office APIs in Visual Studio and other tips

August 8, 2015

Here are a some tips for improving your “experience” in the Visual Studio IDE when testing the Office APIs.


Web Add-ins: Coercion types in Word

August 4, 2015

In the last four installments, the basics of creating a Web Add-in and reading/inserting information was introduced, using two different data formats: matrix and plain text. When working with Word, especially, formatting can be just as important as text content. For this reason, Word supports more and complexer content types than the other Office applications. […]


Web Add-ins: Developer IDE

July 31, 2015

As you’ve seen from the discussions about JavaScript and creating the “Hello World” Web Add-in sample, working with non-proprietary programming languages, such as JavaScript, does have at least one advantage: You’re not locked into any particular software to write your code. In order to create VBA code you need the VBA editor, running in an […]


Web Add-ins: Analyzing the “Hello World” JavaScript

July 30, 2015

I hope you’re not feeling too intimidated and have been able to create and load the “Hello World” sampleā€¦ This post takes a closer look at the JavaScript part of the sample. The discussion is in two parts: First, how JavaScript is linked into the HTML page; then, the JavaScript code with the main focus […]


Web Add-in: XML Manifest & security

July 29, 2015

As became apparent in the previous post introducing Web Add-ins, a Web Add-in consists of more than a single file containing the code. Distributing and installing a Web Add-in is more complex than handing someone an Office document containing the code and explaining how to change the settings in the Trust Center so that it […]


Web Add-ins for (Word) VBA developers – Introduction

July 28, 2015

My discussion of Web Add-ins will center on Word, since that’s “where I live”. The information on the basics is certainly relevant to other Office applications (Excel and PowerPoint) if the Web Add-in is hosted in a Task Pane – the only kind of Web Add-in Word supports. So, what all is involved in creating […]