June 25, 2018
My previous post on getting started with Script Lab and the Office JS APIs for Word looked at some similarities between the COM and Word JS API object models, based on the Script Lab Basic API call sample. This time, I’ll highlight the core part of the sample code that differs from working with COM/VBA. Read the rest of this entry »
No Comments » |
Concept, Office JS API, Syntax, VBA->JS, VBA->JS;Web Add-ins | Tagged: add-in, object model, office-js, VBA->JS, Word 2016 |
Permalink
Posted by WordMeister
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 content of either the content control or the node will mirror that change at the other end of the link. This capability is of interest for “data-mining” documents since it’s a fairly simple task to read a Custom XML Part from a closed Word document by leveraging the Office Open XML. Read the rest of this entry »
1 Comment |
Concept, VBA->JS, Web Add-ins, Word 2013, Word 2016 | Tagged: VBA->JS, Web Add-ins, Word 2013, Word 2016 |
Permalink
Posted by WordMeister
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. Read the rest of this entry »
2 Comments |
Tools, Web Add-ins, Word 2013 | Tagged: Web Add-ins, Word 2013 |
Permalink
Posted by WordMeister
August 9, 2015
As is often the case with code samples, error-handling is omitted for the sake of clarity and space. But serious code requires, of course, error handling, no matter which programming language is used.
VBA is old, comparatively speaking, and classic VB, upon which it was built, even older. We’re all familiar with On Error GoTo [label]
, On Error Resume Next
and related commands.
More recent programming languages use a different pattern, generally known as “try…catch”. The .NET Framework languages use it (although VB.NET can still work with On Error
) and it’s become a widely accepted standard. This is the basic pattern in synchronous JavaScript, as well. Read the rest of this entry »
No Comments » |
Concept, Syntax, VBA->JS | Tagged: VBA->JS |
Permalink
Posted by WordMeister
July 19, 2015
An important part of most programs we write is testing the values of variables and performing tasks based on the result. Typical VBA constructs that use comparisons are If, For, ForEach and Do…While. JavaScript provides the same functionality, using pretty much the same logic, but the syntax differs.
Before we look at these in the next post, however, it’s first important to learn what operator symbols JavaScript uses, how code blocks are defined and to understand the way the Equal sign ( = ) works. Read the rest of this entry »
No Comments » |
Syntax, VBA->JS | Tagged: VBA->JS |
Permalink
Posted by WordMeister
July 18, 2015
VBA provides useful functions for working with variables of the data types String
, Number
and (to a lesser extent) Boolean
. For example, if you need information from a String you can use Len(), Left(), Mid() and Right() to determine the number of characters in the string, the characters counting from the beginning of the String, from any given position in the String or from the end (right) of the String, respectively.
JavaScript provides much of the same information, sometimes in the form of properties, sometimes in the form of methods (like VBA functions). The names are different from what we’re familiar with in VBA, but the functionality is all there, with some nice additions we’ve sometimes wished for! Read the rest of this entry »
No Comments » |
Concept, VBA->JS | Tagged: VBA->JS |
Permalink
Posted by WordMeister
July 18, 2015
Data types determine what can be done with the content in a variable. For example, Numbers can be manipulated arithmetically; Boolean is used to test a variable’s state: does it or does it not meet a specified criterium.
Two of the data types used in VBA are also found in JavaScript and are used in the same way: String
and Boolean
.
JavaScript also supports the numerical data type, but in contrast to VBA and most other programming languages there’s only the one: Number
. It’s not broken down into various integer and decimal types that exist primarily to limit memory storage requirements. So no need to worry about whether the value you’re assigning to a variable will be Integer or Long, Single or Double! JavaScript just goes whole hog and gives you 64-bit double precision floating point…
Then there are three data types not used in VBA: Read the rest of this entry »
No Comments » |
Concept, VBA->JS | Tagged: VBA->JS |
Permalink
Posted by WordMeister
July 17, 2015
Up until now, you’ve had to take my word that JavaScript behaves the way I describe. That’s fine, for an article or two, but at some point a developer wants to actually try these things out…
Unlike VB6, VB.NET or C# you can’t create an independent program using JavaScript, by itself. Similarly to VBA it needs to run in a host environment, typically a browser window as part of an HTML page. Of course, if you’re just playing around, setting up an HTML page so that you can see the results of your JavaScript tests is a lot of (too much!) work. What’s more, you’re not going to get much information when things go wrong – for the most part the code will simply stop executing.
So I was very happy when one book I was reading recommended using the “Firebug” add-on for the Mozilla Firefox browser.
This installs into the Firefox browser as a button in the toolbar across the top (circled in red in the screenshot, below). Clicking the button opens a split-pane at the bottom of the browser window. On the right, you type the JavaScript code. When you click on “Run” in the tools across the top of the split-pane the code is executed and the result of the last line is printed. This is similar to using the Immediate Window in the VBA Editor, except you can type lines and lines of code in a normal manner rather than everything having to be on a single line. (Firebug1.png)

Firebug add-on in Firefox
When you get serious about creating applications, such as a Web Add-in for Word or Excel, then you need a different tool – although this still comes in handy for testing things!
5 Comments |
Tools, VBA->JS | Tagged: VBA->JS |
Permalink
Posted by WordMeister
July 16, 2015
The VB languages differentiate between concatenating (“adding”) strings and adding numbers. You’re supposed to use an ampersand (&) to concatenate a string and a plus sign (+) to add numbers. Although VBA will accept a plus sign to concatenate strings it’s frowned on as you can get unexpected results.
JavaScript (like C#) must use the same operator for both operations, the plus sign: Read the rest of this entry »
No Comments » |
Syntax, VBA->JS | Tagged: VBA->JS |
Permalink
Posted by WordMeister