Las macros de OpenOffice.org y de MS Office

Mismo BASIC pero diferentes objetos

MS Office (MSO) y OpenOffice.org (OOo) no pueden ejecutar el mismo código macro. MSO utiliza el código VBA (Visual Basic for Applications) mientras que OOo utiliza el código Basic basado en la API (Aplication Program Interface) de Sun. Aunque el lenguaje de programación es el mismo (BASIC), los objetos y sus métodos, propiedades y eventos son absolutamente diferentes.

Si usas macros en una de las aplicaciones y deseas obtener la misma funcionalidad en la otra, deberás irremediablemente editar las macros.

Cargar y guardar las macros. ¿Se puede?

OOo puede cargar las macros incluidas en los archivos de MSO; el código de la macro se puede ver y editar en el editor Basic IDE de OOo.

Puedes abrir un documento de MSO, realizar los cambios que consideres oportunos, y guardar el documento modificado en formato MSO; al abrir el documento con la aplicación MSO podrás ejecutar las macros como antes, ya que OOo no elimina el código del documento.

Si, por el contrario, prefieres eliminarlas al abrir el documento en OOo o al guardarlo, puedes editar la configuración sobre el manejo de las macros VBA desde el menú Herramientas > Opciones > Cargar/Guardar > Propiedades VBA.

Editar las propiedades VBA

Para las aplicaciones Word, Excel y PowerPoint, en sus versiones 97/2000/Xp podrás decidir si:

Carga el código Basic: Esta opción te permite almacenar el código original VBA dentro de tu documento OOo; podrás editarlo desde el IDE de OOo, pues quedará encerrado entre dos sentencias Sub y End Sub, si bien, se inserta comentado (como si de líneas REM se tratase). Si guardas el documento editado en formato MSO o en formato OOo se guardará el código y los cambios que en él hayas realizado. Si lo guardas con cualquier otro formato, el código será eliminado.

Guardar el código original de Basic: Esta opción permitirá que el código de la macro original se almacene en un espacio separado mientras estés editando el documento en OOo. Si tras realizar los cambios almacenas el documento en formato MSO, la macro se reestablecerá y podrá ejecutarse desde la aplicación MSO. Pero si guardas en un formato distinto (OOo u otros) el código de la macro será eliminado; OOo mostrará una advertencia de tal suceso.

Sólo para la aplicación Excel tienes disponible una subopción dentro de Cargar código de Basic; si activas la opción Código ejecutable, el código VBA de la macro se cargará y estará listo para ser ejecutado. Ten en cuenta que cualquier llamada a cualquier objeto de VBA no podrá ejecutarse, y se producirá un error, por lo que activar esta opción sólo tiene sentido si deseas "traducir" la macro a API; no existe de momento ninguna posibilidad de traducirla automáticamente, ni mediante ningún programa o extensión. Deberás hacerlo manualmente.

Prioridad de las opciones

La opción Guardar el código original de Basic tiene prioridad sobre la opción Carga el código Basic, por lo que si ambas estan activadas, se ignora ésta última. En el caso de que edites el código comentado disponible en el IDE, al guardar el documento en formato MSO, las modificaciones del código comentado se pierden.

Eliminar posibles virus de macro

Si la opción Guardar el código original de Basic está desactivada, al guardar el documento en formato MSO no se almacena el código macro, por lo que cualquier virus de macro será también eliminado.

 

No hay reacciones, todavía


Form is loading...