Operation Manual
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 345 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 340 on page 352). 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 345: 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.
Caution
LibreOffice allows you to import libraries into a library container, but it will not allow you
to overwrite the library named Standard. Therefore, if you store your macros in the
Standard library, you cannot import them into another library container.
362 | Getting Started with LibreOffice 5.1










