Abrir el editor de macros de OpenOffice.org con una combinación de teclas

Abrir el editor de macros con una combinación de teclasPuedes abrir el editor de macros de OpenOffice.org rápidamente utilizando la combinación de teclas Alt + F11.

La ventana MsgBox en OpenOffice.org Basic

El comando MsgBox en OpenOffice.org Basic

El comando MsgBox de OpenOffice.org Basic muestra un cuadro de diálogo que contiene un mensaje y devuelve un valor; admite varios parámetros.

Estos parámetros nos permiten modificar el título que presentará el diálogo, el icono mostrado, el texto del mensaje y los botones disponibles. Además, utilizándolo como función nos indicará qué botón seleccionó el usuario.

Leer más... »

Última posición de una letra o texto en una cadena

Podemos utilizar la función InStr para encontrar la última posición que ocupa una letra o texto en una cadena.

El código se muestra a continuación:

function BuscarUltimo( cTexto as string, cBuscar as string) as long
    Dim n as long, m as long
    Do while true
        n = InStr( m+1, cTexto, cBuscar)
        if n=0 then exit do
        m=n
    Loop   
    BuscarUltimo = m
end function

Por ejemplo, BuscarUltimo("Hola, ¿que tal?", "a") devuelve 13.

Si deseas distinguir mayúsculas/minúsculas, agrega un 1 como cuarto parámetro a la función Instr

    n = InStr( m+1, cTexto, cBuscar, 1)

NOTA: Si el primer parámetro en la función InStr es cero, o menor que cero, se produce un error. Que no te vuelva loco :)

API for reading, writing and manipulating documents of the OpenDocument format (ODF)

O dicho de otro modo, API para leer, escribir y manipular documentos en el formato OpenDocument (ODF)

Muy interesante para poder entender toda la estructura de la API de com.sun.star para OOo.

Seleccionar celdas, rangos, rangos con nombre, filas o columnas desde una macro en Calc

Estas tres funciones que te presentamos te permiten seleccionar celdas, rangos, rangos con nombre, filas o columnas de Calc desde una macro en OOo Basic.

El sistema es sencillo, y conocido para seleccionar filas, rangos o rangos con nombre, en cuyo caso siempre se utiliza la misma instrucción: getCelRangeByName. El rango indicado (B8, o B8:C14, o un rango con nombre) quedará inmediatamente seleccionado en la hoja activa.

Leer más... »

Macro para desproteger una hoja Calc protegida con clave (password)

Este artículo ha sido trasladado al blog de Calc. Haz clic aquí para leerlo.

QuickSort para OOo Basic

Este procedimiento para ordenar matrices es, en la gran mayoría de casos, más rápido que el método de la burbuja.

Para conocer más sobre estos métodos puedes consultar las siguientes páginas: método Burbuja; método QuickSort

Leer más... »

Macro Imprimir sólo lo seleccionado para Calc

Seleccionar un rango de celdas e imprimirlas no es sencillo con Calc; necesitamos definir previamente un rango de impresión.

Esta sencilla macro que describimos en este post realizará todo ese trabajo por nosotros. Definirá el nuevo rango de impresión eliminando cualquier otro anteriormente definido, y activará la vista preliminar. A partir de aquí, nos cede el control para que realicemos los ajustes que consideremos oportunos.

Leer más... »

Macro que presenta un reloj en la hoja de cálculo

 

Insertar un reloj en una hoja de cálculo no es de lo más práctico que se me ocurre, pero si que es una forma de ver como podemos utilizar una variable a nivel de módulo para controlar desde una subrutina el comportamiento de otra subrutina en la que existe un bucle.

 

Leer más... »

Macro que calcula combinaciones para la Loteria Primitiva

Esta macro te permitirá calcular combinaciones de números para la lotería primitiva.

Por supuesto que no se garantiza ninguna combinación ganadora, jajajaja. De hecho, si ganas la primitiva con este programa, sólo te pido que hagas un comentario, tal es mi fé en el cálculo.

Leer más... »

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.

Leer más... »

Función LetraNif

Esta función devuelve la letra del NIF asociada a un número de DNI

Function LetraNif(dni As Long) As String
LetraNif = Mid("TRWAGMYFPDXBNJZSQVHLCKE", (dni Mod 23) + 1, 1)
End Function

Â