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.

ReferenceManager, built by Ian Laurenson, is designed for working with collections of cross-references, set references and bookmarks. The collection of macros allows references and bookmarks to be reassigned and found. It also can delete references without deleting text and find orphaned references. The interface is confusing at first, until you realize the radio buttons above the two panes identify the contents. Otherwise, the macro collection is ideal for academic work. A particularly useful feature is the Demo button, which Laurenson seems to add to most of his macros.

One of the weaknesses of Writer's cross-reference system is the text before and between the cross-references must be added manually. The process can be automated by creating user-defined fields containing the text, but even that requires flipping back and forth between tabs in the field windows and too many mouse-clicks. Ian Laurenson's Outline Cross-Referencer remedies that by providing a GUI in which the entire reference can be composed. Despite a rather cramped GUI and the long lapse between clicking the Insert button and seeing the reference entered in the text, this macro is a must-have if you use cross-references regularly.

In the current version,'s Export to PDF tool is disappointing. Although it usually produces an acceptable PDF under Linux--it is more problematic under Windows--it sometimes chokes on documents with elaborately formated tables or spontaneously changes fonts. Moreover, even when it works, it cannot generate bookmarks or live links. These features are said to be coming in version 2.0. Meanwhile, Martin Brown's ExtendedPDF not only provides the missing functionality, but handles files that defeat the Export to PDF tool. The interface does warn that paragraph spacing and table spacing at the top of pages can cause hyperlink misalignments, but in a dozen PDFs, most of them lengthy, I never saw any problems.

ExtendedPDF requires Ghostscript, which most desktop Linux installations include by default. It also requires the setting up of a postscript printer driver using's spadmin tool. These requirements are explained thoroughly in the Writer document in which ExtendedPDF is distributed. The document even includes a standard explanation of how to add the macro to a toolbar.

The macro itself opens in a clean interface. Five levels of quality are available to Export as compared with PDF's three levels, as well as three different versions of PDF. Other choices include the view in which the PDF opens, the output folders and the styles from which to generate bookmarks. A tab for PDF Security is grayed out, but considering the low-grade of copy protection available in PDFs, this lack hardly matters. The settings also include an option to open a PDF after it is created in the viewer of your choice--a small touch, but one that automates a step most people would do anyway.

By providing a GUI for detailed PDF generation, ExtendedPDF fills a gap not only in but in Linux desktop productivity. In my book, that makes it the one absolutely essential pick in this collection of macros.

Making Macros Accessible

All macros from open documents are listed in the Macro from field when you select Tools > Macros > Macro. If you have chosen to allow macros to run when you open a document, other documents can use its macros. Otherwise, the macros run only in the document to which they are attached.

Instead of opening a document each time you want its macros, you can make its macros accessible from any document by following these steps:

  1. Select Tools > Macros > Macro > Organizer > Libraries.

  2. On the Libraries tab, select soffice in the Application/Document drop-down list.

  3. Select the Append button. A file browser opens.

  4. Select the file that contains the macros you wan to add, and then select the OK button. The Append Libraries window opens.

  5. Select the macro libraries that you want to add. Then, click the OK button and close the rest of the dialogues.

To make a macro even more accessible, you can:

  • Add it to a toolbar by selecting Customize from the toolbar's right-click menu. In the Customize Toolbar window, macros are listed in the Available buttons pane. Use the Add arrow to place a button for the macro in the Buttons in use pane, and the Move Up and Move Down buttons to position the new button where you want it. Use the Icon button to assign an icon or keep the button as text.

  • Add it to a menu by selecting Tools > Configure > Menu > . Select the macro from the Function section of the window, using the Category pane to navigate through modules and libraries. With the the macro highlighted, either select the macro position in the Menu entries pane and select New > OK. Use the arrow buttons to reposition the macro or the New Menu to create a new top-level menu before adding the macro.

  • Assign it to a keystroke combination by selecting Tools > Configure > Keyboard. Select the macro from the Function section of the window, using the Category pane to navigate through modules and libraries. Highlight the macro, then choose the Shortcut keys and select Assign > OK.

Some macros, especially ones written in a language other than OOoBasic, are packaged as add-ons. These macros are available as zipped files. They are placed in the /user/uno_packages folder of your installation directory and are installed by running pkgchk from the /program folder. When installed, add-ons may add an icon, menu or menu item, depending on how they are packaged. Usually, an add-ons item is added to the Tools menu that lists all installed add-ons on a sub-menu.


-- 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.