Contenedores, librerías y módulos
Tras leer el apartado anterior Organización y visibilidad de las macros podemos concluir que:
- El lenguaje utilizado para escribir macros en OpenOffice es un dialecto del lenguaje de programación BASIC, llamado oficialmente StarBasic, y conocido popularmente como OOo Basic. También se pueden programar macros en los lenguajes JavaScript, Python y BeanShell.
- OpenOffice organiza el código utilizado para crear aplicaciones (macros) bajo la siguiente jerarquía:
- Contenedores: Cada documento es en sí mismo un contenedor. Además, se dispone de dos contenedores locales de macros, uno llamado Mis Macros, destinado a contener las macros del usuario y las utilizadas por las extensiones instaladas, y otro llamado Macros de OpenOffice.org que contiene macros utilizadas por la suite; ambos contenedores han sido creados con la instalación de OpenOffice. Un contenedor se identifica con una aplicación o proyecto. Un contenedor puede contener ninguna, una o varias librerías.
- Librerías 1 : Son agrupaciones lógicas de código que pertenecen a un contenedor. Contienen código relacionado a un determinado proyecto o aplicación. Cada librería puede contener ninguno, uno o varios módulos y/o diálogos, hasta un máximo de 16.000.
- Módulos y diálogos: Pertenecen a una librería. Contienen ninguna, una o más funciones y/o subrutinas. Los diálogos (módulos de diálogo) son una variante de los módulos. Su capacidad está limitada a 64 KB; si se requiere más capacidad, deberás dividir el módulo en dos o más módulos.
Como un documento es en sí mismo un contenedor, puede almacenar macros que viajarán con el documento, y por lo tanto, podrán ejecutarse en el ordenador donde se abra el documento.
Las plantillas de documentos también son contenedores. Las macros que contengan serán copiadas a los nuevos documentos creados a partir de esa plantilla.
Las macros almacenadas en los contenedores locales sólo estarán disponibles para ser ejecutadas en el ordenador donde residen.
Dónde están guardados los contenedores locales de OpenOffice
El contenedor Mis Macros está almacenado en la carpeta de perfil del usuario, subcarpeta Basic:
- En Windows Vista y 7, esta carpeta se encuentra en:
- AOO <= 3.4: C:\Users\NombreDeUsuario\AppData\Roaming\OpenOffice.org\3\user\
- AOO >= 4.0: C:\Users\NombreDeUsuario\AppData\Roaming\OpenOffice\4\user\
- En Windows XP, esta carpeta se encuentra en:
- AOO <= 3.4: C:\Documents and settings\NombreDeUsuario\Datos de programa\OpenOffice.org\3\user\
- AOO >= 4.0: C:\Documents and settings\NombreDeUsuario\Datos de programa\OpenOffice\4\user\
Las librerías pertenecientes a extensiones instaladas en tu OpenOffice.org se encuentran en la carpeta de perfil del usuario, pero dentro de la subcarpeta correspondiente a la extensión.
- En Windows Vista y 7, la carpeta de las extensiones se encuentra en:
- AOO <= 3.4: C:\Users\NombreDeUsuario\AppData\Roaming\OpenOffice.org\3\user\uno_packages\cache\uno_packages\
- AOO >= 4.0: C:\Users\NombreDeUsuario\AppData\Roaming\OpenOffice\4\user\uno_packages\cache\uno_packages\
- En Windows XP, la carpeta de las extensiones se encuentra en:
- AOO <= 3.4: C:\Documents and settings\NombreDeUsuario\Datos de programa\OpenOffice.org\3\user\uno_packages\cache\uno_packages
- AOO >= 4.0: C:\Documents and settings\NombreDeUsuario\Datos de programa\OpenOffice\4\user\uno_packages\cache\uno_packages
En su interior encontrarás una subcarpeta *.tmp_ por cada extensión instalada, que contiene todo el código, iconos y documentos de la extensión.
Puedes consultar este enlace para acceder fácilmente a tu carpeta de perfil del usuario.
El contenedor Macros de OpenOffice está almacenado en una carpeta llamada basic de la instalación de la aplicación.
- En Windows Vista y 7, esta carpeta se encuentra en:
- AOO <= 3.4: C:\Program Files\OpenOffice.org 3\Basis\share\
- AOO >= 4.0: C:\Program Files\OpenOffice 4\Basis\share\
- En Windows XP, esta carpeta se encuentra en:
- AOO <= 3.4: C:\Archivos de programa\OpenOffice.org 3\Basis\share\
- AOO >= 4.0: C:\Archivos de programa\OpenOffice 4\Basis\share\