QueryStorm lets users build apps that add functionality to a particular workbook or to Excel itself.
An app is created by building (compiling) a project. A project consist of source code and resource files, while an app consist of the compilation outputs of a project, namely one or more dlls and a manifest file.
An app can be defined inside of a particular workbook (workbook app) or globally (extension app). Aside from their locations and purposes, there is little technical difference between the two.
Workbook apps add functionality to a particular workbook. They are particularly useful for prototyping and building ad-hoc applications which can be built quickly, since the starting point is not a blank form or page, but the full functionality of Excel.
- can automate the workbook, as well as define custom functions, ribbons and context menus.
- start when the workbook is opened and stop when the workbook closes.
- have strongly typed access to the tables inside the workbook.
- are stored and shared inside the workbook (though keeping the source code in the workbook is optional).
An extension app is a package of extra functionality for Excel that is available globally (in any workbook). Typically, an extension app will define a set of custom functions and commands related to a particular topic.
For example, the
Windy.Text package which can be downloaded from the official QueryStorm feed defines a set of custom Excel functions for text manipulation:
Extension apps are stored at the machine level and are available inside any workbook. They are started when Excel starts and stopped just before Excel closes. Since they are not part of a workbook, they are shared independently.
The QueryStorm IDE provides a mechanism for publishing extension apps to the cloud or a network share, while the runtime provides an Extension manager that allows downloading and installing extension apps from these repositories.
QueryStorm apps are executed by the QueryStorm Runtime which must be installed on end user machines. The QueryStorm runtime can be installed on Excel 2007 and higher.