OOo Off the Wall: Macros and Add-ons

The OOo community has begun to release some macros and add-ons to extend the functionality of the office suite.

Editors' Note: This article has been revised since its original posting.

One of the features that makes the Open Source community so stimulating is its members are not passive consumers of software, but active participants in its direction. is no exception. Although slow to develop this attitude--possibly because of the sheer size of the project--in the last year, the community has started having an effect on the development of the office suite.

True, basic development still is dependent heavily on employees of Sun Microsystems--too dependent, some might say. However, volunteers are coming into their own now with both macros and add-ons. Macros are scripts written in OOoBasic that run from documents, while add-ons are functions integrated directly into an installation, often using another programming language, such as Python. Probably the best examples of this change are Laurence Godard's DicOOo macro, which installs spellchecking, hyphenation and thesaurus dictionaries, and FontOOo macro, which installs free fonts available on the Internet. Both macros have been added as autopilots and were major features of the releases in which they first appeared.

Currently, perhaps two dozen people actively are publishing macros and add-ons. Others are active on the API list, but have yet to make their efforts generally available.

What follow is a small sampling of some publicly available macros and add-ons for OOo. Most are released under the GNU GPL or LGPL, but a few of those available on the Internet use other licenses that you might want to read before downloading, to make sure that they are compatible with your beliefs. After the samples is a brief set of instructions for using and installing them.

Unlike Godard's macro collections, none of these have become an official part of, although one or two may achieve that sign of acceptance. However, even if official acceptance doesn't happen, you easily can add their functionality to your copy of

When StarOffice was open sourced, the proprietary elements stripped out included the import and export filters for WordPerfect. WordPerfect hasn't been the dominant office format for almost a decade, but its brief support for Linux several years ago has left a loyal group of users for whom the ability to read the format is important. The WriterPerfect Project, built by William Lachance, Marc Maurer and other contributors, exists to provide that ability for, AbiWord and, in the future, KWord, through various uses of its libwpd library.

WriterPerfect itself is an import filter. It compares favorably with the StarOffice WordPerfect filter and, in my experience, seems to do a better job than OOo's MS Word filters. Still, like most filters, its results need tweaking, especially when used on complex documents. My only complaint is neither a static tarball nor a Debian package is available on the site. However, both can be built from source, and wpd2sxw, a standalone program from the project, is now a part of Debian unstable.

This set of macros was one of the first to be made available and continues to be updated. It includes a grab-bag of functions, most of which are well commented and useful (if unspectacular) if you are interested in learning how to write your own macro. For example, two are for converting Writer text to plain text e-mail; one adds two carriage returns to mark the start of paragraphs and another strips out smart quotes and en-dashes so that only the basic ASCII set is used. Others apply heading styles, insert a special character and change the case of selected letters.

The standout in this collection is a selected word count. Although the document containing the macros notes that form items and fields can throw out the count, this macro adds a functionality that is missing from Writer but often requested.

Alexej Kryukov's History Manager is an add-on for adjusting the number of recently used files at the bottom of the File menu. By default, shows only four, but most people prefer a longer list. The number of files displayed can be hacked, but History Manager provides a clean interface for editing the list instead.

Danny Brewer's Recent File List Changer provides the same capacity through macros.


-- Bruce Byfield (nanday)


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

The figures for

Anonymous's picture

The figures for ReferenceManager and OutlineCross-Referencer are switched (as of June 2006). This makes the text descriptions a little confusing. I find OutlineCross-Referencer extremely useful and wish its functionality was hard-wired into OOo.

Pitonyak's book and macro document are different

Russ Phillips's picture

In the article, it states:

Although largely an unstructured brain dump, Pitonyak's book still is a valuable collection of tips from an acknowledged expert on OOoBasic.

which is a reasonable description of Andrew's macro document. However, his book is much more organised, and a better bet for anyone wanting to learn how to program OOo, as opposed to someone looking for example code. Sample chapters are available if you want to see the difference before you hand over any money.


Re: OOo Off the Wall: Macros and Add-ons

Anonymous's picture

I installed History Manager following the instructions in the INSTALL
file, but nothing changed in the menus.

How do you use this add-on?

OOo Computer Assisted Translation tool

Anonymous's picture

You should also mention the brilliant OOxlate plugin which is a
simple Computer-Aided-Translation (CAT) package. It is composed of two packages, a Translation Memory server (tmdaemon) written in Perl, and an OpenOffice client (OOxlate), written in OpenOffice Basic.
Definitely worth a try

Re: OOo Computer Assisted Translation tool

Anonymous's picture

I've been wrestling with this plugin for quite a long time now and I can't get it to work. I seem to have a problem with the Java WebServices thingie and I haven't found a valid solution for it yet. (Any suggestions? please, pretty please...)

Lucas _at_ asixinformatica _punto_ com


distortion's picture

am struggling with it right now. have no idea how perl works and all i can find for tmdaemon is packaged for redhat and doesn't want to work in debian, however (after saying a small prayer) i removed the debian ooo packages and downloaded the ooo2.0 tar.gz. its all rpm's but they converted ok with alien and installed ok. time i got to the point, it seems to have all the needed java built in. if your using debian too, there is a brief but very helpfull howto on converting and installing 2.0 linked in the online installation instructions.