Haciendo que la programación de macros sea fácil: Las tarjetas de referencia BASIC y API

Saludos a los lectores de LibreOffice Cuba. Uno de los problemas recurrentes cuando se utiliza LibreOffice como reemplazo de otras aplicaciones ofimáticas es la migración de macros al lenguaje y objetos de LibreOffice BASIC. Mientras que el lenguaje de programación BASIC de LibreOffice es casi estándar, los objetos dentro de un documento tienen diferentes nombres, métodos y propiedades, y en la mayoría de los casos es necesario volver a trabajar en la macro para que vuelva a funcionar cuando se importa desde otras suites.

Para abordar algunas de las reelaboraciones necesarias, los desarrolladores de LibreOffice implementaron en el pasado un conjunto de complementarios de instrucciones y funciones para LibreOffice BASIC, incorporando un modo de compatibilidad a las macros escritas en Visual Basic para aplicaciones (VBA) para reducir la necesidad de reprocesar el código de macro y usar objetos y declaraciones VBA. A fines de 2017, algunas de las declaraciones y funciones de compatibilidad se documentaron en nuestra página de ayuda.

Pero eso es solo una parte del problema. La Interfaz de Programación de Aplicaciones (API) de LibreOffice es una interfaz extremadamente rica y granular con acceso a innumerables propiedades, interfaces, servicios y métodos, lo que convierte su uso en un desafío para el macroprogramador ocasional, a menudo no familiarizado con programación orientada a objetos y tipos de datos complejos.

Pero gracias a Jean François Nifenecker, un conjunto de tarjetas de referencia útiles ahora está disponible para la comunidad de programadores BASIC. Las 8 tarjetas están divididas por temas, abordando el Entorno de Desarrollo Integrado (IDE), descripción general del lenguaje BASIC, Calc los objetos y trucos más interesantes, documentos y eventos de aplicaciones, biblioteca de tiempo de ejecución, diálogos, archivos y parámetros de ejecución. Las primeras 3 tarjetas están ahora disponibles en nuestro sitio web de documentación en PDF y en formatos de archivo ODT, y más vendrán tan pronto como se traduzcan del francés al inglés. Simplemente descargue la versión en PDF e imprímala en papel grueso para tener un acceso rápido a la información que probablemente sepa que existe, pero olvidó cómo hacerla funcionar.

Descargue las 3 tarjetas de referencia BASIC de nuestra página web de documentación Macros y obtenga el archivo original ODT para traducir estas prácticas tarjetas en su idioma nativo.

LibOBasic_1

LibOBasic_2

LibOBasic_3

Fuente: https://blog.documentfoundation.org



El autor de este artículo es Carlos Parra Zaldivar y forma parte de Libreoffice Cuba desde el 6 diciembre, 2013. Nací en la ciudad de Holguín, en el año 1961, estudié la secundaria y el preuniversitario en la Escuela Militar "Camilo Cienfuegos". Me gradué como Licenciado en Física y Astronomía en el año 1985 y comencé mi vida laboral en el IPVCE "José Martí Pérez" de la ciudad de Holguín, impartiendo la asignatura de Física, en el año 1986 comienzan mis incursiones en el mundo de la informática, en el año 1997 presenté un Libro de Física con aplicaciones informáticas en el Evento Internacional de Pedagogía ´97. Desde ese año me desempeño como informático y trabajo desde entonces en la Dirección Provincial de Servicios Comunales en la ciudad de Holguín. Desde el 1ro. de Enero del 2015 soy Miembro de The Document Foundation.

7 Comentarios en el artículo “Haciendo que la programación de macros sea fácil: Las tarjetas de referencia BASIC y API”

  • Pedro Vera comentó el

    la verdad es que es tremendo dolor de cabeza programar macros mediannamente avanzadas en libreoffice ..sobre todo por que las API han cambiado y cuando usas el codigo propuesto por los documentos que andan circulando te encuentras de que no funcionan o lo hacen a media ….opino que libreoffice tiene reales potencialidades pero detalles como estos y la documentacion oficial NULA son un riesgo muy grande de muerte y que limitan su aceptacion por los usuarios….

    • Rodolfo Pérez Alamino comentó el

      Para no ser injusto, o al menos tratar, quiero empezar felicitando a todos los que, de una u otra manera, hacen un gran esfuerzo por la generalización de un paquete de programas tan útiles como LO.

      Desde mi posición, creo haber contribuido, y lo sigo haciendo, con hacerlo extensivo en el Sistema Nacional de Radiodifusión.

      Pero, y aunque solo soy un usuario “avanzado”, considero que hay que reconocer también los problemas. Y quiero en esta oportunidad referirme solamente a Calc. Me parece que cumple los cometidos para los que fue creado para la media de los trabajos que se mantengan en el entorno de la propia hoja de cálculo y todo va bien hasta que queremos entrar en la zona “difícil” de las macro.

      Hay un comentario de principios del año pasado de Pedro Vera (a quien no tengo el honor de conocer), que señala con mucho acierto las dificultades con las que podemos tropezar a la hora de trabajar y cito una parte de su escrito: “la verdad es que es tremendo dolor de cabeza programar macros medianamente avanzadas…”. Yo he tropezado con esas dificultades y no he podido encontrar una guía que me resulte verdaderamente útil… ¡y he buscado! En oportunidades me he limitado al copia y pega, como lo haría cualquier mal principiante (espero se comprenda lo que quiero decir).

      Como expresaba anteriormente, no soy más que un usuario de la Suite (básicamente Writer, Calc, Draw e Impress), por lo que no tengo a menos reconocer que me “pierdo” un poco en mi preferido (y no es una ironía) CALC a la hora de “meterle mano” (como decía mi padre) a la zona macros.

      Hay algo que me parece que debe llamar la atención y es que, en esta propia página, hayan tan pocos comentarios (y tan espaciados temporalmente), ya sea a favor o en contra, sobre cualquiera de los módulos que la componen.

      Estos son signos preocupantes, y cito de nuevo a Pedro: “…opino que libreoffice tiene reales potencialidades, pero detalles como estos y la documentación oficial NULA, son un riesgo muy grande de muerte y que limitan su aceptación por los usuarios…”. Yo mismo lo he experimentado al impartir conocimientos a los usuarios menos avanzados.

      • Carlos Parra Zaldivar comentó el

        Rodolfo:
        Mis saludos, ya respondí parte de tus preocupaciones en un correo que le envié hace un instante. Es cierto que LibreOffice es una suite que cubre las necesidades básicas de los usuarios, pero que aún le falta mucho para poder completar el uso avanzado de muchas de las funciones que puede tener Microsoft Office. Con relación al tema Calc y la programación de Macro le comento que se está trabajando intensamente en facilitar un entorno de programación más amigable y claro, esto ha sido un reclamos de muchos usuarios que hacen uso avanzado de la suite y que demandan la utilización de macros. En esta última versión LibreOffice 6.3 trae un interfaz más clara, lo que facilita el trabajo de la programación de macro en Python y próximante saldrá publicado un libro de Mauricio Baeza, mexicano que viene trabajando el temas de las macro desde OpenOffice.
        Saludos
        Carlos

  • Fernando Jiménez Ávila comentó el

    Llevo desde el año 2002 utilizando en su momento OpenOffice y actualmente LibreOffice, y he estado promoviendo y capacitando sobre el uso de estas alternativas. Si duda alguna es complicado no contar con Documentación Oficial, pero debemos hacer el esfuerzo, mucha gente que ha programado ya puso su granito de arena, ahora está de nosotros aportar lo que esté a nuestro alcance, para que este trabajo de miles no sea en vano.

  • José Vicente comentó el

    Gracias a todos los desarrolladores. Utilizo Libre Office desde hace cerca de 10 años y actualmente en Ubuntu 18.04 lo he actualizado a la versión 6.1.3.2, pero he notado que el color de la letra no se cambia tanto en el documento de texto como en la hoja de cálculo, lo cual no ocurre con el resalte de texto o el relleno de celdas.
    Cómo puedo resolver éste inconveniente?
    Gracias de antemano.

    • Carlos Parra Zaldivar comentó el

      José Vicente:

      Mis saludos, el tema de la visualización de las aplicaciones y de LibreOffice en particular depende del entorno de escritorio que tengas, si es plasma o Gnome, para ello tienes que probar a ver uno u otro para determinar en cuál se ve mejor.

      Saludos
      Carlos

Súmate al debate y déjanos tu comentario. Siéntete libre de expresar tu criterio siempre y cuando sea basado en el respeto al resto de la comunidad y centrándote en el tema o eje central de este artículo. No haremos pública tu dirección de correo electrónico.