Operation Manual

LibreOffice objects rather than generating dispatches. This can be very useful for learning the
object model and can be downloaded directly from the web site:
http://www.paolo-mantovani.org/downloads/DispatchToApiRecorder/
Macro organization
In LibreOffice, macros are grouped in modules, modules are grouped in libraries, and libraries are
grouped in library containers. A library is usually used as a major grouping for either an entire
category of macros, or for an entire application. Modules usually split functionality, such as user
interaction and calculations. Individual macros are subroutines and functions. Figure 337 shows an
example of the hierarchical structure of macro libraries in LibreOffice.
Go to Tools > Macros > Organize Macros > LibreOffice Basic on the main menu bar to open the
LibreOffice Basic Macros dialog (Figure 332 on page 343). All available library containers are
shown in the Macro from list. Every document is a library container, capable of containing multiple
libraries. The application itself acts as two library containers, one container for macros distributed
with LibreOffice called LibreOffice Macros, and one container for personal macros called My
Macros.
The LibreOffice Macros are stored with the application runtime code, which may not be editable to
you unless you are an administrator. This helps protect these macros because they should not be
changed and you should not store your own macros in the LibreOffice container.
Unless your macros are applicable to a single document, and only to a single document, your
macros will probably be stored in the My Macros container. The My Macros container is stored in
your user area or home directory.
Figure 337: Macro Library hierarchy
If a macro is contained in a document, then a recorded macro will attempt to work on that
document; because it primarily uses “ThisComponent” for its actions.
Every library container contains a library named Standard. It is better to create your own libraries
with meaningful names than to use the Standard library. Not only are meaningful names easier to
manage, but they can also be imported into other library containers whereas the Standard library
cannot.
Chapter 13 Getting Started with Macros | 353