Función personalizada (UDF) para extraer los números de una cadena de texto (string)
Como ya habéis visitado (leído, estudiado y practicado) el artículo “Recursos para comenzar a programar con LibreOffice BASIC” de este mismo blog, o bien, ya tenéis conocimientos del lenguaje de programación LibreOffice Basic, vamos a crear una UDF (macro) que extraiga todos los números del 0 al 9 de una cadena de texto contenida en una celda de Calc (imagen 1).
Imagen 1: Función personalizada (UDF) EXTRAER_NUMEROS |
Pero, ¿qué es una UDF?. Una UDF es una función definida por el usuario (en inglés User-Defined Function). Esta función la crea el usuario de una aplicación informática para personalizar, en la medida de lo posible, unas determinadas operaciones o resultados, ya que, ninguna de las funciones que de forma predeterminada vienen con la aplicación se ajusta a las necesidades surgidas en un momento dado. Se utiliza exactamente igual que cualquier otra función que traiga Calc “de fábrica”.
Cuando se trabaja con macros hay que “avisar” a LibreOffice de la seguridad que queremos tener respecto de esas macros, a través del menú Herramientas > Opciones > Seguridad (imagen 2). Normalmente se elige un nivel medio porque así tenemos libertad de decidir qué macro se ejecuta o qué macro no (imagen 3).
Imagen 2: Menú Herramientas > Opciones > Seguridad > Seguridad de macros... |
Cuando abrimos un archivo que contiene macros nos aparece una ventana (imagen 3) preguntando si queremos activar o no las macros. Obviamente, si desactivamos las macros no podremos hacer uso de ellas. Sólo debemos activar las macros de fuentes fiables.
Imagen 3: Activar macros |
Para ver el código fuente de esta función personalizada seleccionaremos el menú Herramientas > Macros > Organizar macros > BASIC ... (imagen 4).
Imagen 4: Menú Herramientas > Macros > Organizar macros > BASIC ... |
En el cuadro de diálogo que aparece seleccionaremos el “Module1” de la biblioteca “Standard” del nuestro archivo de prácticas y pincharemos en el botón “Editar” (imagen 5).
Imagen 5: Seleccionamos la macro a editar ... |
Y nos aparece el IDE (Integrated Development Environment, Entorno Integrado de Desarrollo) de LibreOffice Basic (imagen 6) donde hemos escrito, probado y depurado nuestra función personalizada.
Imagen 6: Entorno Integrado de Desarrollo de LibreOffice Basic |
Las líneas de color verde son comentarios que el intérprete de LibreOffice BASIC no tiene en cuenta. Las palabras de color azul son palabras reservadas del lenguaje (una constante, variable u objeto no puede llamarse igual que una palabra reservada). Los números y las cadenas de texto aparecen con otros colores. Todos los colores son personalizables (imagen 7).
Imagen 7: Menú Herramientas > Opciones … > Colores de la aplicación |
Para saber más hay que visitar la Ayuda de LibreOffice Basic:
Ya lo dijo Platón: “El que aprende y aprende y no practica lo que sabe es como el que ara y ara y no siembra". Así que ya sabéis, practicad.
Podéis ver otras dos UDF en el artículo LibreOffice Calc: casos prácticos (VIII) de la revista EnRed@2.0 del IAAP (Instituto Andaluz de Administración Pública) de la Junta de Andalucía.
Como siempre, muchas gracias por vuestra atención y saludos cordiales.
LibreOffice Community ver.7.6.7.2 (X86_64 es-ES) Windows 11
Comentarios
Publicar un comentario