Apuntes mientras aprendo sobre software y computadoras.

programación

Objetivos de palabras usando Macros y LibreOffice Basic

En este nuevo apunte práctico voy a revisar cómo establecer objetivos de palabras usando Macros y LibreOffice Basic.

Este texto es parte de un esfuerzo por aprender nuevas funcionalidades y automatizar un poco más el paquete de programas Libreoffice.

La idea

Seguramente en algún momento tuviste que escribir una determinada cantidad de palabras. Tal vez por un trabajo, por cuestiones de estudio o porque te encontrás escribiendo un proyecto personal.

Por completar este ejemplo, digamos que necesitamos escribir 20.000 palabras.

Una cosa que podemos hacer es revisar de tanto en tanto el contador debajo de Libreoffice Writter para ver si estamos cerca del objetivo. O también podemos crear un macro que nos permita averiguar esa información simplemente apretando un atajo en el teclado.

La idea es tener un código que nos informe del porcentaje total de palabras que completamos al momento de invocar el macro.

El código

El siguiente código es muy sencillo, y hace exactamente lo que estoy buscando:

REM  *****  BASIC  *****
REM Macro para dar el porcentaje completado en palabras de un OBJETIVO_TOTAL.

Sub contador_objetivo()
    Const OBJETIVO_TOTAL As Long = 20000
    Dim doc As Object
    Dim wordCount As Long
    Dim porcentaje As Long

    doc = ThisComponent
    wordCount = doc.WordCount
    porcentaje = (wordCount / OBJETIVO_TOTAL) * 100

    MsgBox ("Ya hiciste el " & porcentaje & "% (" & wordCount & " palabras) de un total de " & OBJETIVO_TOTAL & " palabras.")

End Sub

La explicación:

La mayor parte del código se encarga de establecer las variables.

De todo, creo que lo más importante es esto:

Const OBJETIVO_TOTAL As Long = 20000

Donde se puede reemplazar “20.000” por la cantidad de palabras que se necesitan completar.

Y también esto otro:

MsgBox ("Ya hiciste el " & porcentaje & "% (" & wordCount & " palabras) de un total de " & OBJETIVO_TOTAL & " palabras.")

Ya que es lo que muestra el mensaje con el porciento terminado cuando invocamos el programa.

¿Cómo utilizar el macro?

Para ponerlo en funcionamiento es necesario:

1) Añadir el macro. Esto puede conseguirse en “Herramientas > Macros > Organizar Macros > Basic”

2) Asignarle un nuevo atajo al macro. Para esto voy a “Herramientas > Personalizar” y luego agregándolo en la pestaña “teclado”.

Mi explicación no es muy profunda… pero la inteligencia artificial puede llenar los detalles.

Posibles mejoras

Hay muchas posibles funcionalidades que se le pueden agregar al programa.

Las que se me ocurren son: que el programa nos pregunte por el objetivo total de palabras que necesitamos cubrir (en lugar de establecerlo directamente en una variable del código).

Y también agregar la posibilidad de establecer algún tipo de mini objetivo diariode palabras a escribir.

Aunque tal vez todo esto puede conseguirse creando un plugin en Python en lugar de hacer un macro.

Conclusión:

Espero que este apunte te sirve de ayuda para entender cómo establecer objetivos de palabras usando Macros y LibreOffice Basic.

Cualquier error que encuentres en el texto, por favor avisame para que pueda corregirlo.

La seguimos en el próximo apunte.

Recursos:

– Manual para escribir programas con el lenguaje LibreOffice Basic.

Leave a Reply