Programación y Extención de OPENOFFICE

Anuncio
Esta obra está bajo una licencia Reconocimiento-No comercial 2.5 Colombia de Creative Commons. Para ver una
copia de esta licencia, visite http://creativecommons.org/licenses/by-nc/2.5/co/ o envie una carta a Creative
Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA.
PROGRAMACION Y EXTENSIÓN
EXTENSIÓN DE
OPENOFFICE
Autores:
ZULEIDY JOHANNA BARRERO NIETO
JHON ALEXANDER FERNÁNDEZ RUEDA
Director Unidad Informática:
Henry Martínez Sarmiento
Tutor Investigación:
Álvaro Enrique Palacios Villamil
Coordinadores:
Leydi Diana Rincón Rincón
Luis Alfonso Nieto Ramos
Coordinador Servicios Web:
Miguel Ibañez
Analista de Infraestructura
y Comunicaciones:
Alejandro Bolivar
Analista de Sistemas de
Información:
Álvaro Enrique Palacios Villamil
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
BOGOTÁ D.C.
DICIEMBRE DE 2007
PROGRAMACIÓN Y EXTENSIÓN DE
OPENOFFICE
Director Unidad Informática: Henry Martínez Sarmiento
Tutor Investigación:
Álvaro Enrique Palacios Villamil
Auxiliares de Investigación:
Alvaro Esneyder Roncancio
Andrea Patricia Garzón
Andrés Felipe Pérez Murcia
Andrés Felipe Sanchez Baquero
Andrés Mauricio Arias Toro
Brayan Ricardo Rojas
Carlos Ernesto González Vargas
Carlos Hernan Porras
Carolina Acosta Romero
Cristian Camilo Ibañez
Daniel Hernan Santiago
Diego Andrés Gil
Elkin Giovanni Calderón
Erika Zuley Guerrero
Gustavo Alejandro Ospina
Javier Mauricio Ravelo
John Alexander Fernandez Rueda
Jorge Alexander Cerón
Juan Camilo Rojas
Juan Carlos Peña Robayo
Juan Felipe Reyes Rodriguez
Jurley Sosa
Karen Lorena Gutiérrez
Leidy Carolina Rincón
Luis Alejandro Pico
Maria Inés García Ramírez
Miguel Angel Valderrama
Oscar Javier Rivera Claro
Roberto Alejandro Sanchez León
Rodrigo Acosta
Sergio Fernando Garzón
Tatiana Bravo
Yelitza Barbosa
Zareth Manzón Garnica
Zuleidy Johana Barrero Nieto
Este trabajo es resultado del esfuerzo
perteneciente a la Unidad de Informática.
de
todo
el
equipo
Se prohíbe la reproducción parcial o total de este documento, por
cualquier tipo de método fotomecánico y/o electrónico, sin previa
autorización de la Universidad Nacional de Colombia.
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
BOGOTÁ D.C.
NOVIEMBRE DE 2007
1. TABLA DE CONTENIDO
1.
TABLA DE CONTENIDO ........................................................................................................3
2.
INTRODUCCIÓN......................................................................................................................4
3.
OBJETIVOS ................................................................................................................................5
4.
JUSTIFICACION........................................................................................................................6
5.
RESUMEN...................................................................................................................................7
6.
ABSTRACT ................................................................................................................................8
7.
ABSTRACT ................................................................................................................................9
8.
Qué es y para qué sirve OOo Basic........................................................................................10
9.
INSTALACION ........................................................................................................................13
10.
FUNCIONES ........................................................................................................................24
11.
OPERADORES .....................................................................................................................29
12.
INSTRUCCIONES ...............................................................................................................31
13.
OTROS CONCEPTOS ESENCIALES ...............................................................................35
14.
ENTORNO DE TRABAJO ..................................................................................................41
15.
OBJETIVOS CURSOS LIBRES ...........................................................................................50
16.
MACROS CURSOS LIBRES................................................................................................51
17.
CONCLUSIONES ................................................................................................................63
18.
BIBLIOGRAFIA ....................................................................................................................64
2. INTRODUCCIÓN
Cada día se evidencia más el auge y la importancia que esta tomando el software libre en la academia,
por esto cabe decir que es relevante conocer por lo menos los componentes básicos Linux y sus
aplicaciones, en este trabajo se resaltan las propiedades de OpenOffice.org. Basic el cual permite la
creación de macros en lenguaje Basic.
OpenOffice. Org. Basic viene incluido en el paquete de OpenOffice. Org. (writer, calc, etc) lo que implica
que el programa no tenga que ser instalado separadamente, brindando mayor facilidad de instalación.
Para las personas que ya han manejado Visual Basic, el entorno de trabajo de OOo Basic les será
familiar pues las características del uno y el otro son semejantes. OOo Basic permite ejecutar una serie
de comandos específicos para la realización de una acción. Esos comandos se dividen en Funciones,
operadores e instrucciones. La diferencia entre ellos subyace en la forma como intervienen en la
realización de una macro, por ejemplo una función genera un valor a partir de una instrucción, un
operador es una herramienta que permite que algunas funciones se lleven a cabo, una instrucción
permite realizar operaciones entre datos de entrada sin devolver algún valor.
Programación en OpenOffice.org Basic
Open office.org Basic incluye una Interfaz de programación de aplicaciones (API) que permite el control
de los componentes de OpenOffice.org con distintos lenguajes de programación utilizando su Kit de
desarrollo de software (SDK).
Debido a los cambios en la API, las macros que se hayan creado con StarOffice 5.2 o versiones
anteriores ya no sirven en las versiones posteriores.
-OpenOffice.org Basic es modular
El código de OpenOffice.org Basic se basa en subrutinas y funciones que se especifican entre secciones
sub...end sub y function...end function. Cada Sub o Function puede llamar a otros módulos Sub y
Function. Si se escribe código genérico para módulos Sub o Function, probablemente se podrá reutilizar
en otros programas.
3. OBJETIVOS
Objetivos generales:
Familiarizar al lector con el entorno de trabajo de OOo Basic y con los conceptos mas esenciales para
comprender el manejo del programa, haciendo hincapié en los comandos más utilizados en la estructura
de macros, permitiendo una mejor comprensión a través de ejemplos sencillos, dejando la base teórica
para dictar los cursos de ofimática avanzada en ]OpenOffice
Objetivos específicos:
1. Ilustrar la manera como se debe instalar OpenOffice correctamente, haciendo una división entre la
instalación en Windows y en Linux.
2. Caracterizar los elementos de OOo Basic, sus utilidades y algunas funciones que ejecuta y permiten
una mayor eficiencia en los procesos
3. Especificar los requerimientos necesarios para instalar el programa (software y hardware)
4. Introducir los conceptos de Función, Operador e Instrucción de tal forma que el uso de macros sea
más eficiente, no solo por tener el concepto sino por conocer los comandos básicos para ejecutarlos.
5. Recopilar las funciones, operadores e instrucciones esenciales en el manejo de macros.
6. Elaborar ejemplos particulares de acuerdo con los comandos previamente descritos.
7. Plantear objetivos para la implementación en cursos libres.
4. JUSTIFICACION
Las suit’s offimaticas ofrecen grandes posibilidades a la hora de realizar cualquier labor, permiten realizar
desde documentos de texto, pasando por manejadores de correo, hasta incluso, llegar a crear programas
complejos de calculo o formas mas eficientes de manejar bases de datos que optimizan muchos procesos
de la vida cotidiana o empresarial. Por tal motivo, lograr desarrollar un estudio completo sobre todos estos
aspectos facilita enormemente el manejo de estos paquetes ofrecidos por diversas empresas, sacándole
el mayor provecho a la herramienta ofimática, abriendo incluso la posibilidad a diversas empresas que
utilizan esta clase de plataformas, la reducción de costos en cuanto a potencializar una herramienta con
que se cuenta en vez de adquirir un software especializado para ello. Sin embargo, el estudio sobre la
plataforma de Visual Basic desarrollada por Microsoft es bastante, pero el mundo empresarial debe estar
enfocado a la competitividad y ahorro, por lo cual el software privativo no es una muy buena alternativa,
solo que hasta el momento se ha venido sustentando en las grandes ventajas que ofrecen estos
paquetes.
Afortunadamente, el entorno informático no se ha quedado atrás, el desarrollo de software libre ha sido la
vía de solución para lograr crear dicha competitividad y lograr conseguir los mismos e incluso más
beneficios de los que ofrecen los paquetes privativos; sin embargo uno de los mayores impedimentos ha
sido el “miedo” que el usuario ha tenido al enfrentarse a estos programas con un entorno nuevo para él.
Por tal motivo, es necesario e indispensable que dicho estudio se empiece a hacer desde la educación
escolar y mas aún se fortalezca en la formación profesional para que en el entorno productivo se logre dar
un manejo completo a las herramientas de libre adquisición.
La unidad de informática de la facultad de ciencias económicas no debe ser la excepción en la formación
e implementación del software libre que paulatinamente se esta presentando, por tal motivo debe ser un
centro de investigación en estas herramientas para lograr capacitar y concienciar a los estudiantes de la
importancia que tiene optimizar los procesos en suit’s offimaticas libres con la programación en esta
clase de plataformas, ya que con este conocimiento no solo se prepara adecuadamente la mentalidad del
empresario del futuro, sino que también pueden ser implementados en la unidad en todos sus aspectos.
5. RESUMEN
OpenOffice.org es una suite ofimática de software libre y código abierto que incluye herramientas como
procesador de textos, hoja de cálculo, presentaciones, herramientas para el dibujo vectorial y base de
datos. Está disponible para muchas y diversas plataformas, como Microsoft Windows, sistemas de tipo
Unix con el Sistema X Window como GNU/Linux, BSD, Solaris y Mac OS X. Está pensado para ser
compatible con Microsoft Office, con quien compite. Soporta el estándar ISO OpenDocument para el
intercambio de datos, y puede ser utilizado sin costo alguno.
OpenOffice.org posee la base solida de StarOffice, una suite ofimática desarrollada por StarDivision y
adquirida por Sun Microsystems en agosto de 1999, que actualmente es la suite comercial de Sun. El
código fuente de la suite fue liberado en julio de 2000, con la intención de hacer frente al dominio en el
mercado de Microsoft Office proporcionando una alternativa abierta, de bajo costo y alta calidad. El
código fuente de la aplicación está disponible bajo la licencia LGPL.
Las versiones más recientes de StarOffice están basadas en el código base de OpenOffice.org; de forma
similar a la relación existente entre Netscape Navigator y Mozilla.
El proyecto y el programa son denominados "OpenOffice" de forma informal, pero los organizadores del
proyecto dicen que este término es una marca registrada en posesión de otra empresa, obligándoles a
adoptar "OpenOffice.org" como nombre formal, y abreviado como OOo.
Existe una versión portátil de OpenOffice.org que puede ser transportada y usada directamente desde
una memoria USB sin necesidad de instalarse en el computador.
OpenOffice.org Basic es el nombre del lenguaje de macros incluido con OpenOffice.org. OpenOffice.org
Basic tiene mucho en común con Visual Basic de manera que es una gran ventaja para aquellas
personas que saben manejar Visual Basic.
La suite OpenOffice.org Basic está basada en subrutinas y funciones. Están implementadas con las
palabras clave “Sub” y “Function”. Se
refieren generalmente a estos como procedimientos. Cada
procedimiento proveerá alguna funcionalidad y puede llamar a otros procedimientos. (No está permitida la
recursividad). La diferencia entre un “Sub” y una “Function” es que “Function” puede retornar un valor y
por eso está permitido el uso en la parte derecha de una declaración.
Una colección de procedimientos está contenido en un módulo. Un documento puede contener modulos,
y pueden existir globalmente aparte de un documento. Colecciones de módulos están guardados en una
librería.
El uso de Openoffice se propone como resultado de este trabajo en la implementación de macros para
ser enseñadas en los curso de ofimática en la unidad de informática.
6. ABSTRACT
OpenOffice.org is an exciting new Office suite program that is extremely powerful and completely free to
everyone. It operates on Windows, Linux, Macintosh, and Solaris, and it can easily read and write a
plethora of file formats, including Microsoft Office. It is currently available in more than 30 languages, and
people all over the world are migrating to OpenOffice.org for their entire office suite needs. Over sixteen
million people currently use the program, and the total is increasing daily! You don’t have to pay a single
dime to use OpenOffice.org — either now or in the future! Sounds too good to be true? The more you
learn about
OpenOffice.org, the more fascinated you’ll become.
What Is OpenOffice.org?
OpenOffice.org, the Office suite, includes the following four major applications:
_ Writer: A full-featured word processor that also includes an HTML editor for designing Web pages
_ Calc: An extremely capable spreadsheet program that also allows you to link to corporate databases
_ Draw: An excellent drawing and graphics program for both 2-D and 3-D
Impress: A very capable presentation program for creating electronic
slide shows
The suite OpenOffice.org Basic is based on subroutines and functions. They are implemented with the
words key "Sub" and "Function". It's referent generally to these as procedures. Each procedure will
provide some functionality and
can call to other procedures. (The recursividad is not allowed). The
difference among a "Sub" and a "Function" it is that "Function" a value can return and for that reason the
use is allowed in the right part of a declaration.
A collection of procedures is contained in a module. A document can contain modules, and they can exist
globally apart from a document. Collections of modules are kept in a bookstore.
The use of Openoffice intends as a result of this work in the implementation of macros to be taught in the
offimátic course in computer science's unit.
7. ABSTRACT
OpenOffice.org is a suite ofimática of free software and open code that it includes tools like word
processor, calculation leaf, presentations, tools for the vectorial drawing and database. It is available for
many and diverse platforms, as Microsoft Windows, systems of type Unix with the System X Window like
GNU / Linux, BSD, Solaris and Mac YOU X. It is thought to be compatible with Microsoft Office, with who
competes. Standard ISO supports OpenDocument for the exchange of data, and it can be used without
cost some.
OpenOffice.org possesses the accustomed to base of StarOffice, a suite ofimática developed by
StarDivision and acquired by Sun Microsystems in August of 1999, that at the moment is the commercial
suite of Sun. The source code of the suite was liberated in July of 2000, with the intention of making in
front of the domain in the market of Microsoft Office providing an open alternative, of low cost and high
quality. The source code of the application is available under the license LGPL.
The most recent versions in StarOffice are based on the code base of OpenOffice.org; in a similar way to
the existent relationship between Netscape Navigator and Mozilla.
The project and the program are denominated "OpenOffice" in an informal way, but the organizers of the
project say that this term is a mark registered in possession of another company, forcing them to adopt
"OpenOffice.org" like formal name, and abbreviated as OOo.
A portable version of OpenOffice.org that can be transported exists and used directly from a memory USB
without necessity of settling in the computer.
OpenOffice.org Basic is the name of the included language of macros with OpenOffice.org.
OpenOffice.org Basic has much in common with Visual Basic so that it is a great advantage for those
people that know how to manage Visual Basic.
The suite OpenOffice.org Basic is based on subroutines and functions. They are implemented with the
words "Sub" key and "Function." They generally refer to these as procedures. Each procedure will provide
some functionality and he/she can call to other procedures. (Not the recursividad is allowed). The
difference between a "Sub" one and a "Function" is that "Function" can return a value and for that reason
the use is allowed in the right part of a declaration.
A collection of procedures is contained in a module. A document can contain modules, and they can exist
globally apart from a document. Collections of modules are kept in a bookstore.
The use of Openoffice intends as a result of this work in the implementation of macros to be taught in the
ofimática course in computer science's unit.
8. Qué es y para qué sirve OOo Basic1
OpenOffice.org Basic, el lenguaje de programación de macros de la suite de aplicaciones ofimáticas
OpenOffice.org, permite al desarrollador (y a los usuarios que usen estas macros) programar pequeñas
aplicaciones en esta suite así como automatizar muchas tareas que de otro modo llevarían muchísimo
tiempo o serían prácticamente imposibles de realizar. Mediante el uso de macros podemos realizar
acciones como las siguientes: obtener de Internet los valores en bolsa de ciertas compañías y crear una
hoja de cálculo que se autoactulice cada vez que la abramos, abrir todos los documentos de Writer que
existan en un determinado directorio y pegarlos uno detrás de otro, convertir todos los documentos de
Writer de un directorio a formato PDF, crear una base de datos que nos permita gestionar los pedidos de
nuestros clientes, etc. En general, mediante el uso de macros en OpenOffice podremos crear pequeñas y
medianas aplicaciones ofimáticas, usando la potencia, versatilidad y facilidad de uso que nos ofrecen
todos los componentes disponibles en la suite (Writer, Calc, Impress, Draw y el gestor de Bases de Datos
integrado en OOo). En este primer capítulo trataremos algunos conceptos básicos que nos permitirán
posteriormente avanzar con rapidez en el desarrollo de macros. Se puede profundizar y estudiar los
detalles leyendo la documentación en la que se basa este artículo (ver tabla de enlaces de interés al final
del artículo)
OOo Basic pertenece a la familia de lenguajes Basic. Muchas partes de OOo Basic son idénticas al
lenguaje Microsoft Visual Basic for Applications (usado en Microsoft Office) y Microsoft Visual Basic.
Cualquiera que haya programado con cualquiera de estos lenguajes se hará rápidamente con el control
de OOo Basic.
OOo Basic es un lenguaje interpretado, lo cual quiere decir que el compilador no creará programas
ejecutables independientes, tal y como genera el compilador de C o C++, sino que para ejecutar un
programa realizado en OOo Basic es indispensable disponer de un entorno de ejecución que permita
ejecutar línea a línea el código del programa. Desde dicho entorno, con la pulsación de un botón (Ejecutar
macro) pondremos en marcha el intérprete de OOo Basic. Este intérprete, comprobará primero que la
sintáxis del código que va a ejecutar es correcta y posteriormente lo ejecutará línea a línea.
Podemos programar las macros usando el editor de desarrollo integrado (IDE) en OpenOffice.org, al que
accederemos desde cualquier programa de la suite pulsando en Tools/Macros/Macro/Edit (aunque OOo
1
es.wikibooks.org/wiki/OpenOffice.org/Basic:_el_lenguaje_de_macros - 16k -
está traducido al castellano, la mayor parte de la documentación y ejemplos de macros para OpenOffice
están en inglés, así como los foros de soporte para la programación en OOo Basic. Seguir los ejemplos
con el interfaz en inglés es más cómodo de cara al programador. En todo caso, la traducción es
inmediata, y en las figuras adjuntas se muestra la localización de los distintos botones y menús para
facilitar el proceso)
Cómo usar el editor de OOo Basic
Desde el entorno de desarrollo de macros de OOo no sólo es posible crear y editar macros, sino también
ejecutarlas en modo debug (permitiendo la depuración de errores), la validación de la sintaxis usada en el
código, la creación de formularios y cuadros de diálogo y la administración de bibliotecas de funciones.
Llegados a este punto, la mejor forma de continuar es creando una pequeña macro a modo de ejemplo, lo
que además nos ayudará a refrescar los conocimientos de Basic que ya tuviéramos. El ejemplo consistirá
en crear una pequeña aplicación que pregunte al usuario por el nombre de un archivo de texto, lea el
contenido de dicho archivo y lo muestre por pantalla (algo poco útil por el momento, pero que nos servirá
para nuestra primera toma de contacto con el IDE de OOo Basic).
Diferencias entre OOo Basic y Microsoft Visual Basic
Comenzamos dando algunos aspectos que brindan ventajas o desventajas dependiendo de la necesidad
del usuario, de las plataformas de OOo y Microsoft office:
Categoría
OpenOffice.org
Microsoft Office
Procesador de Exportación directa a formato
Necesita drivers o programas especiales para
Textos
PDF
poder generar PDF's
Hoja de
No permite especificar campo de
cálculo
Página en las Tablas dinámicas
Hoja de
Subtotales anidados en una sola
cálculo
operación
Macros
Permite deshacer las acciones
Tablas dinámicas con campo de Página
Para obtener subtotales anidados, hay que dar
varios pasos: ordenar, obtener subtotal exterior,
obtener subtotal interior
No permite deshacer las acciones ejecutas por
ejecutadas mediante una macro macros
En cuanto a manejo de macros la plataforma de visual Basic y Ooo Basic son básicamente iguales, pues
el lenguaje es el mismo y sus funciones tambien.
9. INSTALACION
8.1 Instalar OpenOffice.org bajo Windows
Requerimientos:
• Para utilizar OpenOffice.org necesitas:
Sistema operativo: Win95/98/NT/ME/2000/XP/Vista
La instalación de OOo Basic.org se realiza de manera automática al realizar la de la suite ofimática de
Openoffice.org, no existen versiones oficiales de su instalación por separado, sin embargo para Linux se
pueden encontrar repositorios que instalen la herramienta. Por tanto es necesario identificar la instalación
de Openoffice.org en los entornos Windows y Linux.
En esta guía puedes ver las bases para instalar OpenOffice.org para
iguien. La instalación se divide en
varios pasos:
Carga del instalador
Selección de la ruta en donde el instalador pondrá poner los archivos para instalar (archivos .cab).
Selección de los modulos y el
iguie a instalár
Registro del producto
El contenido de este manual ha sido extraido del archivo de instalación que debe incluirse en
todas las distribuciones de la suite de oficina OpenOffice.org, y adaptado para su presentación online y
posterior utilización en este informe.
Este manual de instalación indica cómo hacer una instalación individual para un usuario, teniendo
en cuenta que el objetivo del presente informe es hacer apenas una recopilación de donde surge la
instalacion de Ooo Basic. Org y para ello es indispensable tener la suite de Openoffice.org. Si se necesita
otro tipo de información (instalación en red etc.), se debe consultar el documento completo que se
encuentra en cualquier distribución en CD ROM de la suite de oficina OpenOffice.org.
Windows:
Requisitos de sistema
Requisitos de disco duro y memoria
Iniciar la instalación
Mensaje de bienvenida
Información importante
Contrato de licencia
Datos del usuario
Tipo de instalación
Selección de componentes
Directorio de instalación
Fin de las opciones de instalación
Asignación de los tipos de archivos
Entorno de ejecución Java™ (Java™ Runtime Environment)
Inicio del proceso de copia
Finalización de la instalación
Inicio de OpenOffice.org
Requisitos de sistema
Windows 95/98/NT/ME/2000/XP/Vista. Para el soporte de idiomas asiáticos se requiere como mínimo la
versión de Windows 98 (se recomienda Windows 2000)
PC con procesador Pentium o compatible
64 MB de memoria RAM (Como mínimo para las versiones mas antiguas), 128 o 256 para las mas
recientes con con actualizaciones.
Requisitos de disco duro y memoria
Según las opciones que se hayan decidido instalar, se necesitará alrededor de 190 a 250 MB de espacio
libre en el directorio en el que se vaya a instalar OpenOffice.org. Durante la instalación se necesitarán
además unos 40 MB de espacio adicional para los archivos temporales. Los archivos temporales se
eliminarán automáticamente al finalizar con éxito la instalación.
Iniciar la instalación
Si se ha instalado una versión anterior de OpenOffice.org, compruebe primero si existe el archivo
sversion.ini en el directorio del usuario de Windows.
El archivo indica la ruta y el número de versión de un OpenOffice.org ya instalado. Si se trata de un
OpenOffice.org con el mismo número de versión que se va a instalar, la instalación sólo será posible si
desinstalas previamente el OpenOffice.org existente.
Regístrese en el sistema con su nombre de usuario, si fuera necesario, y si no, simplemente encender el
ordenador y arrancar el sistema operativo.
Ahora se puede usar el Explorador de Windows para ejecutar el programa de instalación de
OpenOffice.org (el “Setup”). Buscando el archivo setup.exe en el subdirectorio \office60.
volver al menú de navegación
Mensaje de bienvenida
Primero se verá una ventana con un mensaje de bienvenida. El botón Ayuda, que aparece en muchos de
los cuadros de diálogo del programa de instalación, ofrece información sobre el cuadro de diálogo actual.
Una vez leído el texto de ayuda, podrá regresar al programa de instalación pulsando el botón Regresar.
No cierre la ventana de ayuda con el botón de cierre X del sistema de Windows (esquina superior
derecha), ya que con ello se cerraría el programa de instalación.
Pulsando siguiente se continúa con el proceso de instalación.
Información importante
Ahora aparecerá una ventana con el contenido del archivo readme.txt. Este archivo también se podrá
abrir y leer desde el directorio de OpenOffice.org, después de haber completado la instalación.
Una vez leído el texto, pulse Siguiente para seguir con el proceso de instalación.
Contrato de licencia
La siguiente ventana muestra el contenido del contrato de licencia.
Debe leer atentamente el contrato de licencia. Pulse “Aceptar” si está de acuerdo con todas las cláusulas
para poder continuar con la instalación. Si no está de acuerdo con el contrato, pulse “Cancelar”. En este
caso, OpenOffice.org no se instalará.
Datos del usuario
Verá el cuadro de diálogo Introducir datos de usuario.
Introduzca sus datos personales.
Los datos que aquí se escriben se utilizarán, por ejemplo, para insertar automáticamente dicha
información en las plantillas de cartas o faxes o en los correos electrónicos.
Si en este momento no quiere introducir sus datos, puede hacerlo después de instalar OpenOffice.org con
el comando Herramientas|Opciones…|OpenOffice.org que se encuentra en la ficha Datos del usuario.
Pulse Siguiente para seguir con el proceso de instalación.
Tipo de instalación
En el siguiente cuadro de diálogo, podrás seleccionar el tipo de instalación.
La Instalación completa es la recomendada para el usuario normal. En general se instalarán todos
los componentes. Si selecciona esta opción, sólo se te preguntará por el directorio en el que desea
instalar OpenOffice.org.
La Instalación personalizada también presenta primero un cuadro de diálogo en el que podrá seleccionar
el directorio para la instalación. A continuación aparecerá otro cuadro en el que podrá seleccionar los
diferentes componentes que se van a instalar.
Selecciona el tipo de instalación deseada.
Pulsa Siguiente para seguir con el proceso de instalación.
Selección de componentes
Si ha seleccionado Instalación personalizada, verá a continuación un cuadro de diálogo en el que podrás
seleccionar los componentes que quieres instalar.
Se instalarán todos los componentes cuyas casillas, junto a los respectivos nombres, sean de color. Si no
desea instalar un componente, pulse la casilla de color junto al componente que no quiere instalar. La
casilla vuelve gris, lo cual significa que este componente no se instalará (o que se eliminará de la
instalación). Cada vez que pulsa una casilla, ésta cambiará de color a gris y viceversa y el componente
correspondiente y todos sus subcomponentes se instalarán (color) o no (gris).
Al pulsar el signo + junto al nombre de un componente, se abrirá la lista de los subcomponentes. Estos
subcomponentes también pueden instalarse o eliminarse de la instalación mediante un ‘clic’. Cuando un
componente tenga subcomponentes que se van a instalar y otros que no, la casilla se verá
semitransparente, como la casilla del filtro de texto de OpenOffice.org Writer, ya que por defecto se
realiza una preselección reducida de los muchos filtros que existen.
Si pulsa sobre el botón Predeterminado, se anulará todo que has seleccionado, y se restaurará la
configuración predeterminada del programa de instalación.
Las entradas en color rojo indican que este componente se instalará siempre y que no se puede
desactivar.
Seleccione los módulos y componentes deseados para la instalación, es importante que esté
seleccionado la herramienta de Ooo Basic.org, así como el asistente para macros en las casillas de
verificación.
Pulsa Siguiente para seguir con el proceso de instalación.
Directorio de instalación
Verá un cuadro de diálogo en el que podrá determinar el directorio de instalación. En la parte superior del
cuadro verá una lista de las unidades del sistema con información sobre la memoria requerida y el
espacio disponible.
Si lo desea, puedes buscar la ruta de instalación en un cuadro de diálogo pulsando Examinar…. También
puede introducir directamente la ruta en el campo de texto. Si el directorio mencionado no existe se
creará automáticamente tras pedir confirmación. OpenOffice.org instalará en el directorio mencionado
archivos y otros subdirectorios con archivos.
Pulsa Siguiente para seguir con la instalación.
Asignación de los tipos de archivos
En el siguiente cuadro de diálogo seleccione los tipos de archivos adicionales que se deben abrir con
OpenOffice.org. De manera predeterminada OpenOffice.org se registra en el sistema operativo como
programa predeterminado para estos tipos de archivos.
Seleccione los tipos de archivos que OpenOffice.org debe abrir además de los propios.
Pulse
iguiente.
Inicio del proceso de copia
Pulse instalar para iniciar el proceso de copia de los archivos. Tras iniciarse el proceso de copia verá
cómo va avanzando el proceso de instalación y una estimación del tiempo que falta para finalizar la
instalación.
Al finalizar la instalación, en el menú Inicio|Programas|OpenOffice.org 2.3 encontrará iconos para iniciar
los diferentes componentes instalados de OpenOffice.org.
Durante la instalación de OpenOffice.org se creará un vínculo para el Inicio Rápido de OpenOffice.org en
la carpeta de Inicio de Windows. Cada vez que se inicie el sistema, el icono de Inicio Rápido aparecerá en
la bandeja del sistema.2
Si hace ‘clic’ sobre dicho icono con el botón derecho del ratón, se abrirá un menú contextual desde el que
podrá abrir los diversos componentes de OpenOffice.org.
Encontrará más información sobre las funciones del Inicio Rápido en la Ayuda.
8.2 Instalar OpenOffice.org bajo Linux
Este turorial se establece si no dispone de las ultimas versiones de distribución de Linux en donde ya
viene incluida la suite offimatica al realizar la instalacion (Ubuntu 7.04 y anterior, Opensuse 10.3)
Si necesita más información sobre la instalación inicial u otros aspectos, puedes ir también a:
•
la página de instalación, donde encontrará información sobre cómo instalar el suite de oficina
OpenOffice.org en la versión en español
•
la página de documentación de la Comunidad de OpenOffice.org en español
•
la lista de correo en español (más direcciones de utilidad)
•
los FAQs en inglés
•
las listas de correo en inglés
•
el proyecto de OpenOffice.org dedicado exclusivamente a la recopilación de documentación de
utilidad, documentation.openoffice.org
•
el sitio web de OpenOffice.org dedicado exclusivamente a la recopilación de documentación de
utilidad, www.ooodocs.org
Introducción
El contenido de este manual ha sido traducido de las instrucciones originales que se encuentran en ingles
en la pagina de Openoffice. org.
•
requisitos de sistema
•
requisitos de disco duro y memoria
•
iniciar la instalación
•
entorno de ejecución Java™ (Java™ Runtime Environment)
•
descargar el archivo .tar.gz
•
ejecutar "setup"
•
instalación del usuario
•
tipo de instalación y directorio
•
datos del usuario
•
directorio de tu entorno de ejecución Java™ (Java™ Runtime Environment)
•
finalización de la instalación e inicio de OpenOffice.org
Requisitos de sistema
•
Linux Kernel 2.2.13 o superior
•
XServer (resolución mínima 800x600 y 256 colores) con administrador de ventanas (p.ej. GNOME)
•
PC con procesador Pentium o compatible, o un procesador PowerPC
•
64 MB de memoria RAM (como minimo, 128 o 256 para las mas recientes)
•
instalación de glibc2 en versión 2.1.3 o superior (glibc2 v2.2.1 o mayor para PPC Linux)
Requisitos de disco duro y memoria
Según las opciones que hayas decidido instalar, necesitará alrededor de 190 a 250 MB de espacio libre
en el directorio en el que vayas a instalar OpenOffice.org. Durante la instalación se necesitarán además
unos 40 MB de espacio adicional para los archivos temporales.
2
es.openoffice.org/programa/instalar-win.html
Iniciar la instalación
Instalar OpenOffice.org en Linux es muy fácil. Para asegurar la mejor instalación, siga estos pasos
sencillos.
Descargar el archivo ".tar.gz"
En el root
Descargue el tarball de OpenOffice.org, y extraigalo (el archivo .tar.gz file) a un directorio temporal. /tmp
es un buen lugar
En este ejemplo, entendemos que hemos bajado el tarball al directorio /tmp
Abre un terminal como xterm o konsole. Para extraer el tarball, primero cambiamos al directorio /tmp:
cd /tmp
y extraemos el tarball:
tar -zxvf [nombre del tarball]
Ejecutar "setup"
Así, se ha creado un directorio install. Cambiando a este directorio:
cd install
Se ejecuta setup. Se hace con el siguiente comando:
./setup -net
Con este comando se da el primer paso de la instalación Linux
Siga las instrucciones de la aplicación de instalación.
Cuando solicita dónde instalar los archivos de programa de OpenOffice.org se sugiere la siguiente
eleccion:
/opt/OpenOffice.org[número de versión]
Por ejemplo, si la versión es la 1.0, el directorio sería:
/opt/OpenOffice.org1.0
Instalacíon del usuario
Cuando la aplicación de instalación termine, debe ejecutar la instalación del usuario ("user-setup") de
OpenOffice.org
Primero, cambie al directorio de programa de OpenOffice.org:
cd /opt/OpenOffice.org1.0
Desde dicho directorio, ejecute el siguiente comando:
./setup [esta vez, sin -net]
El setup del usuario se ejecutará
Tipo de instalación y directorio
Elija una instalación normal (el setup debe copiar unos 1,4 MB de archivos a tu directorio home) y
seleccione guardar los archivos en su directorio de usuario en el directorio de OpenOffice.org 1.0, por
ejemplo:
/home/billg/OpenOffice.org1.0
Finalización de la instalación e inicio de OpenOffice.org
Estará terminado el proceso de instalación.
10. FUNCIONES
¿Qué es una Función?
Una función es esencialmente una sub que devuelve un valor. Las funciones se pueden usar en el lado
derecho de una declaración de variable o en otros sitios en que normalmente se usarían valores, por
ejemplo:
MiSegundoValor = MiFunción(MiPrimerValor)
¿Qué es una Sub?
Sub es la contracción de subrutina, que se utiliza para manejar una tarea concreta dentro de un
programa. Las Sub se utilizan para dividir una tarea en procedimientos individuales. Dividir un programa
en procedimientos y subprocedimientos mejora su legibilidad y reduce la posibilidad de errores. Una sub
puede tomar algunos argumentos como parámetros, pero no devuelve ningún valor a la sub o función que
la ha llamado, por ejemplo:
HacerAlgoConLosValores(MiPrimerValor,MiSegundoValor)
Funcion
Funcion MsgBox
InputBox
Funcion
Descripcion
secundaria
Sintaxis
Muestra un cuadro de diálogo
MsgBox (Texto As String [,Tipo
que contiene un mensaje y
As Integer [,TítuloDiálogo As
devuelve un valor.
String]])
Muestra un indicador en un
InputBox (Mensaje As String[,
diálogo en el que el usuario
Título As String[,
puede introducir texto. La
Predeterminado As String[,
entrada se asigna a una
pos_x As Integer, pos_y As
variable.
Integer]]]])
Devuelve el código RGB del
color que se ha pasado como
QBColor
valor a través de un sistema de
programación antiguo basado
en MS-DOS.
Repeticion de
Las funciones siguientes repiten
contenidos
el contenido de las cadenas.
QBColor (NúmeroColor As
Integer)
Devuelve una cadena que se
Space
compone de una cantidad
Space (n As Integer)
determinada de espacios.
Crea una cadena de acuerdo
con el carácter especificado o el
String
primer carácter de una
expresión de cadena que se
String (n As Integer, {expresión
As Integer | carácter As String})
pasa a la función.
Edicion del
Las funciones siguientes se
contenido de
usan para editar, dar formato y
cadenas
alinear contenidos de cadenas.
Convierte un número en una
Format
cadena y después le da formato Format (Número [, Formato As
de acuerdo con las
String])
especificaciones indicadas.
Suprime todas los espacios del
Trim
principio y del final de una
Trim( Texto As String )
expresión de cadena.
Devuelve una matriz de
Split
subcadenas a partir de una
expresión de cadena.
Devuelve una cadena a partir de
Join
varias subcadenas de una
matriz.
Compara dos cadenas y
StrComp
devuelve un valor entero que
representa el resultado de la
comparación.
Shell
Split (Texto As String,
delimitador, número)
Join (Texto As String Array,
delimitador)
StrComp (Texto1 As String,
Texto2 As String[,
Comparación])
Inicia otra aplicación y si fuera
Shell (NombreRuta As String[,
necesario define el estilo de
EstiloVentana As Integer][,
ventana correspondiente.
Parám As String][, bSync])
Convierte una expresión de
cadena o una expresión
Ccur
numérica en una expresión de
moneda. Para los decimales y
CCur(Expression)
los símbolos de moneda se
utiliza la configuración regional.
Convierte cualquier cadena de
Cdate
caracteres o expresión numérica CDate (Expresión)
en un valor de fecha.
Convierte una expresión de
Cdec
cadena o una expresión
numérica en una expresión
CDec(Expression)
decimal.
CStr
Convierte cualquier expresión
numérica en una de cadena.
CStr (Expresión)
Convierte cualquier cadena o
CSng
expresión numérica en el tipo de CSng (Expresión)
datos Simple.
Convierte una expresión de
CVerror
cadena o una expresión
numérica en una expresión
CVErr(Expression)
variant del subtipo "Error".
Lbound
UBound
Let
Devuelve el límite inferior de una LBound (NombreMatriz [,
matriz.
Dimensión])
Devuelve el límite superior de
UBound (NombreMatriz [,
una matriz.
Dimensión])
Asigna un valor a una variable.
[Let] NombreVar=Expresión
Las funciones trigonométricas
Trigonometricas
siguientes se admiten en
OpenOffice.org Basic.
Función trigonométrica que
devuelve la arcotangente de una
Atn
expresión numérica. El valor de Atn (Número)
retorno está en el rango de -Pi/2
a +Pi/2.
Calcula el coseno de un ángulo.
Cos
El ángulo se especifica en
radianes. El resultado está entre
Cos (Número)
-1 y 1.
Devuelve el seno de un ángulo.
Sin
El ángulo se especifica en
radianes. El resultado está entre
Sin (Número)
-1 y 1.
Calcula la tangente de un
Tan
ángulo. El ángulo se devuelve
Tan (Número)
en radianes.
Devuelve la base del logaritmo
Exp
natural (e = 2,718282) elevado a Exp (Número)
una potencia.
Log
Sqr
Devuelve el logaritmo natural de
un número.
Calcula la raíz cuadrada de una
expresión numérica.
Log (Número)
Sqr (Número)
Devuelve el valor entero de una
Fix
expresión numérica eliminando Fix (Expresión)
la parte fraccionaria del número.
Abs
Devuelve el valor absoluto de
una expresión numérica.
Abs (Número)
Devuelve el número de línea en
Erl
que se produjo un error durante Erl
la ejecución de un programa.
Devuelve un código que
Err
identifica el error que se ha
producido durante la ejecución
Err
del programa.
Devuelve la hora a partir de un
Hour
valor que generan las funciones
TimeSerial o TimeValue.
Now
Devuelve la fecha y hora del
sistema como valor de tipo Date.
Now
Esta función devuelve la hora
Time
actual del sistema como cadena Time
en el formato "HH:MM:SS".
Evalúa una lista de argumentos
que se compone de una
expresión seguida por un valor. Switch (Expresión1, Valor1[,
Switch
La función Switch devuelve un
Expresión2, Valor2[...,
valor que está asociado con la
Expresión_n, Valor_n]])
expresión que pasa esta
función.
Ejemplo…
Sub EjemploSwitch
Dim sGenero As String
sGenero = ObtIndGenero( "María")
MsgBox sGenero
End Sub
Function ObtIndGenero (sNombre As String) As String
ObtIndGenero = Switch(sNombre = "María", "femenino", sNombre = "Juan", "masculino")
End Function
11. OPERADORES
¿Qué son los Operadores?
En todos los lenguajes de programación se útilizan operadores para efectuar operaciones
aritmeticas. Combinando las variables y constantes en expresiones aritméticas por medio de funciones
adecuadas.
Una expresión es un conjunto de datos o funciones unidos por operadores aritméticos.
En ocasiones en los programas se necesitan realizar comparaciones entre distintos valores, esto se
realiza utilizando los operadores relaciones3
Operadores Clases
Descripcion
And
Combina dos expresiones de manera lógica.
Eqv
Calcula la equivalencia lógica de dos expresiones.
Se utiliza para negar una expresión invirtiendo sus valores
de bit.
Lleva a cabo una disyunción lógica OR en dos expresiones.
Realiza una combinación de comparación exclusiva entre
dos expresiones.
Resta dos valores.
Multiplica dos valores.
Suma o combina dos expresiones.
Divide dos valores.
Eleva un número a una potencia.
Devuelve el resto entero de una división.
Los operadores de comparación comparan dos
expresiones. El resultado se devuelve como expresión
lógica que determina si la comparación es cierta (-1) o falsa
(0).
Igual que
Menor que
Mayor que
Menor o igual que
Mayor o igual que
Distinto
Not
Or
Xor
“-”
“*”
“+”
“/”
“^”
Mod
De
comparacion
=
<
>
<=
>=
<>
Imp
3
Lleva a cabo una implicación lógica en dos expresiones.
www.logicapura.com.ar/lp/articulos/guia1cap3.php - 21k -
Sub Ejemplo2
Dim A as Variant, B as Variant, C as Variant, D as Variant
Dim vVarOut as Variant
A = 10: B = 8: C = 6: D = Null
vVarOut = A > B And B > C REM devuelve -1
vVarOut = B > A And B > C REM devuelve 0
vVarOut = A > B And B > D REM devuelve 0
vVarOut = (B > D And B > A) REM devuelve 0
vVarOut = B And A REM devuelve 8 debido al resultado de la combinación entre bits AND de ambos
argumentos
End Sub
12. INSTRUCCIONES4
¿Qué son las Instrucciones?
se le llama instrucción a un conjunto de datos insertados en una secuencia estructurada o específica que
el procesador interpreta y ejecuta.
Los tipos de instrucción permitidos están definidos y determinados dentro de cada plataforma en la
Arquitectura del Repertorio de Instrucciones (ARI) (ISA, instruction set architecture), que también
determina los registros de origen y destino de la CPU, y en ocasiones un dato inmediato (aquellos que
son especificados explícitamente en la instrucción).
Normalmente una instrucción se divide en dos campos:
Código de Operación: Designa la operación que va a ser realizada. En lenguaje ensamblador, se asigna a
su valor numérico un mnemónico. Por ejemplo, en el MIPS tenemos una instrucción con el código de
operación 0224x en lenguaje ensamblador es la operación add.
Datos de la Operación: dependiendo del tipo de instrucción, este campo puede estar dividido en otros o
ser único, incluso no existir. En el se suelen indicar los registros y datos con los que trabajar.
El tamaño (longitud en bits) de la instrucción depende de cada arquitectura, pudiendo variar de 4 hasta
128 bits.
La instrucción debe almacenarse temporalmente (en el registro de instrucción, RI) para que la CPU
analice su contenido y extraiga los datos que la forman. A este paso se le llama decodificación.
Instrucción
Descripcion
Sintaxis
MsgBox Texto As String [,Tipo As
MsgBox
Muestra un cuadro de diálogo que
contiene un mensaje.
Integer [,TítuloDiálogo As String]] (As
Statement) o bien MsgBox (Texto As
String [,Tipo As Integer [,TítuloDiálogo
As String]]) (As Function)
Const
Define una cadena como constante.
Const Texto = Expresión
[ReDim]Dim NombreVar [(inicio To
Dim
Declara una variable o una matriz.
final)] [As TipoVar][, NombreVar2
[(inicio To final)] [As TipoVar][,...]]
Set
4
Establece una referencia de objeto en
es.wikipedia.org/wiki/Instrucción - 19k
Set VarObjeto = Objeto
una variable o propiedad.
If... Then... Else
Define uno o más bloques de
If condición=cierta Then Bloque de
instrucciones que sólo se desea
instrucciones [ElseIf condición=cierta
ejecutar cuando una condición dada es Then] Bloque de instrucciones
cierta.
[Else]Bloque de instrucciones End If
Select Case condición Case expresión
Define uno o más bloques de
Select... Case
Bloque de instrucciones [Case
instrucciones, dependiendo del valor de expresión2 Bloque de
una expresión.
instrucciones][Case Else] Bloque de
instrucciones End Select
Devuelve uno de dos resultados
IIf
posibles de la función, dependiendo del
valor lógico de la expresión evaluada.
IIf (Expresión, ExpresiónCierta,
ExpresiónFalsa)
Devuelve la fecha actual del sistema
Date
como cadena o la restablece. El formato
de fecha depende de la configuración
Date ; Date = Texto As String
local del sistema.
Do [{While | Until} condición = cierta]
Repite las instrucciones que haya entre bloque de instrucciones [Exit Do]
Do... Loop
Do y Loop mientras la condición sea
bloque de instrucciones Loop o Do
cierta o hasta que la condición resulte
bloque de instrucciones [Exit Do]
ser cierta.
bloque de instrucciones Loop [{While |
Until} condición = cierta]
For contador=inicio To final [Step
incremento]
Repite las instrucciones que se
For... Next
encuentran en el bloque For...Next un
número determinado de veces.
bloque de instrucciones
[Exit For]
bloque de instrucciones
Next [contador]
Cuando un programa encuentra una
instrucción While, comprueba la
condición. Si ésta es False, el programa
continúa directamente a continuación de
While... Wend
la instrucción Wend; Si es True, el bucle
se ejecuta hasta que el programa
While Condición [Instrucción] Wend
encuentra Wend y después vuelve a la
instrucción While . Si la condición sigue
siendo cierta, el bucle se ejecuta de
nuevo.
Llama a una subrutina indicada por una
etiqueta de una subrutina o una función.
La instrucción que sigue a la etiqueta se
GoSub...Return ejecuta mientras no se encuentre una
GoSub “nombre de la subrutina”
instrucción Return. Después el
programa continúa con la instrucción
que sigue a GoSub .
Prosigue la ejecución del programa
GoTo
dentro de Sub o Function en la línea de
procedimiento indicada por una
GoTo “nombre de la variable o etiqueta
etiqueta.
Function Nombre[(NombVar1 [As
Tipo][, NombVar2 [As Tipo][,...]]]) [As
Define una subrutina que puede usarse Tipo]
Function
como expresión para determinar un tipo bloque de instrucciones
de retorno.
[Final de la función]
bloque de instrucciones
End Function
Declare
Declara y define una subrutina en un
Declare {Sub | Function} Nombre Lib
archivo DLL que se desee ejecutar
"NombreBiblioteca" [Alias
desde OpenOffice.org Basic.
"NombreAlias"] [Parámetro] [As Tipo]
End
Finaliza un procedimiento o bloque.
End, End Function, End If, End Select, End
Sub
Sub Nombre [(NombVar1 [As Tipo][,
NombVar2 [As Tipo][,...]])]
Sub
Define una subrutina.
bloque de instrucciones
End Sub
Define un objeto como el
predeterminado. A menos que se
declare otro nombre de objeto, todas las
With
propiedades y métodos hacen
referencia al objeto predeterminado
hasta que se llega a la instrucción End
With.
ejemplo
Sub Ejemplo
Dim lValor As Long
lValor = 5000
MiPitidoMensaje( lValor )
FreeLibrary("user32.dll" )
End Sub
With Objeto Bloque de instrucciones
End With
13. OTROS CONCEPTOS ESENCIALES5
¿Qué es un procedimiento?
Un procedimiento es un tipo subalgoritmo, es el término para describir una secuencia de órdenes que
hacen una tarea específica de una aplicación más grande.
Las declaraciones de procedimientos generalmente son especificadas por:
Un nombre único en el ámbito.- Nombre del procedimiento con el que se identifica y se distingue de otros.
No podrá haber otro procedimiento ni función con ese nombre (salvo sobrecarga o polimorfismo en
programación orientada a objetos).
Una lista de parámetros.- Especificación del conjunto de argumentos (pueden ser cero, uno o más) que el
procedimiento debe recibir para realizar su tarea.
El código u órdenes de procesamiento.- Conjunto de ordenes y sentencias que debe ejecutar el
procedimiento.
La diferencia entre un procedimiento y una función (el otro tipo de subalgotitmos) radica en que estos
últimos devuelven un resultado.
Los procedimientos en programación generalmente son los que realizan operaciones de entrada/salida,
en general, cualquier operación más o menos compleja que no requiera devolver un valor.
Variables globales y locales
Las variables globales son válidas para todas las sub y funciones contenidas en un módulo. Se declaran
al principio del módulo, antes de que empiece la primera sub o función.
Las variables que se declaran dentro de una sub o función sólo son válidas dentro de éstas. Estas
variables invalidan las variables globales con el mismo nombre así como las locales con el mismo nombre
que provengan de subs o funciones de jerarquía superior.
Estructuración
Después de separar el programa en procedimientos y funciones (Subs y Functions), éstas se pueden
guardar como archivos para reutilizarlas en otros proyectos. OpenOffice.org Basic admite Módulos y
bibliotecas. Tanto subs como funciones siempre se incluyen en módulos. Los módulos pueden definirse
para que sean globales o formen parte de un documento. Varios módulos pueden combinarse en una
biblioteca.
Las subs, las funciones, los módulos y las bibliotecas se puede copiar y trasladar de un archivo a otro
mediante el diálogo Macro.
OpenOffice.org Basic ofrece herramientas de ayuda para estructurar los proyectos. Admite varias
"unidades" que permiten agrupar SUBS y FUNCIONES individuales en un proyecto Basic.
5
es.wikipedia.org/wiki/Procedimientos_(Programación) - 16k
Bibliotecas
Las bibliotecas sirven como herramienta para organizar módulos y pueden adjuntarse a un documento o
una plantilla. Cuando se guarda el documento o plantilla, todos los módulos que contienen también se
guardan.
Una biblioteca puede contener hasta 16.000 módulos.
Módulos
Un módulo contiene SUBS y FUNCIONES junto con declaraciones de variables. La longitud del programa
que puede guardarse en un módulo está limitada a 64 KB. Si se requiere más espacio, se puede dividir un
proyecto de OpenOffice.org en varios módulos y después guardarlos en una única biblioteca.
Módulos de diálogo
Los módulos de diálogo combinan en un único módulo la estructura de todos los cuadros de diálogo, las
propiedades de todos los elementos del diálogo y las acciones asignadas a SUBS. Debido a que los
módulos de diálogo sólo pueden contener un único diálogo, a menudo se les denomina "diálogos".
-Sintaxis
Uso de variables
A continuación se describe el uso básico de variables en OpenOffice.org Basic.
Convenciones de asignación de nombres a variables
Un nombre de variable puede tener hasta 255 caracteres. El primer carácter de un nombre de variable
debe ser una letra A-Z o a-z. Los números también pueden usarse en los nombres de variable, pero los
símbolos de puntuación y los caracteres especiales no están permitidos, con excepción del carácter de
subrayado ("_"). En OpenOffice.org Basic no se hace distinción entre mayúsculas/minúsculas en los
identificadores de variable. Los nombres de variable pueden contener espacios, pero en ese caso deben
incluirse entre corchetes.
Ejemplos de identificadores de variable:
MiNumero=5
Correcto
MiNumero5=15 Correcto
MiNumero_5=2 Correcto
0
Mi Numero=20 No es válida, las variables con espacios deben incluirse entre
corchetes
[Mi
Numero]=12
Correcto, variable con espacios incluida entre corchetes
DéjàVu=25
No es válida, no se permiten caracteres especiales
5MiNumero=12 No es válida, la variable no puede empezar con un número
Numero,Mío=1 No es válida, marcas de puntuación no permitidas
2
Declaración de variables
En OpenOffice.org Basic no es necesario declarar variables explícitamente. Las declaraciones de variable
pueden realizarse con la instrucción Dim. Puede declarar más de una variable a la vez separando sus
nombres con una coma. Para definir el tipo de variable, use un signo de declaración de tipo después del
nombre o la palabra clave apropiada.
Ejemplos de declaraciones de variable:
DIM a$
Declara la variable "a" como String
DIM a As String
Declara la variable "a" como String
DIM a$, b As Integer
Declara una variable como String y otra como Integer
DIM c As Boolean
Declara c como variable booleana que puede ser TRUE
o FALSE
Es muy importante al declarar variables que utilice siempre el carácter de declaración de tipo, aunque se
usara en la declaración en lugar de una palabra clave. Por tanto, las instrucciones siguientes no son
válidas:
DIM a$
Declara "a" como String
a="TestString"
Falta la declaración de tipo:
"a$="
Tenga en cuenta que en cuanto haya declarado una variable como de un tipo
concreto ya no puede declararla con el mismo nombre y un tipo distinto.
Cómo forzar declaraciones de variables
Para forzar la declaración de variables, use la orden siguiente:
OPTION EXPLICIT
La instrucción Option Explicit tiene que ser la primera línea del módulo, antes del primer SUB.
Normalmente, sólo es necesario declarar explícitamente las matrices. El resto de variables se declaran
según el carácter de declaración de tipo o (si se omite) según el tipo predeterminado Single.
Tipos de variable
OpenOffice.org Basic admite cuatro clases de variables:
•
Numérica, puede contener valores numéricos. Algunas variables se utilizan para
almacenar números grandes o pequeños y otras para números de coma flotante o
fracciones.
•
Cadena, contiene cadenas de caracteres.
•
Lógica, contiene el valor TRUE (cierto) o FALSE (falso).
•
Objeto, puede almacenar objetos de diversos tipos, como tablas y documentos dentro de
un documento.
Variables enteras
El rango de las variables enteras va de -32768 a 32767. Si asigna un valor de coma flotante a una
variable entera, los valores decimales se redondean al entero más próximo. Las variables enteras se
calculan rápidamente en los procedimientos y su uso es muy conveniente como variables contador en
bucles. Una variable entera sólo requiere dos bytes de memoria. El carácter de declaración de tipo es
"%".
Dim Variable%
Dim Variable As Integer
Variables enteras largas
El rango de las variables enteras largas va de -2147483648 a 2147483647. Si asigna un valor de coma
flotante a una variable entera larga, los valores decimales se redondean al entero más próximo. Las
variables enteras largas se calculan rápidamente en los procedimientos y su uso muy conveniente como
variables contador en bucles de valor muy grande. Una variable entera larga requiere cuatro bytes de
memoria. El carácter de declaración de tipo es "&".
Dim Variable&
Dim Variable as Long
Variables simples
Las variables simples pueden tener valores positivos o negativos desde 3,402823 x 10E38 a 1,401298 x
10E-45. Las variables simples son de coma flotante, en el que la precisión decimal decrece a medida que
la parte no decimal del número aumenta. Las variables simples son adecuadas para realizar cálculos
matemáticos de precisión media. Los cálculos requieren más tiempo que para las variables enteras, pero
son más rápidos que las de tipo doble. Una variable simple requiere 4 bytes de memoria. El carácter de
declaración de tipo es "!".
Dim Variable!
Dim Variable as Single
Variables dobles
Las variables dobles pueden tener valores positivos o negativos desde 1.79769313486232 x 10E38 a
4.94065645841247 x 10E-324. Las variables dobles son de coma flotante, en el que la precisión decimal
decrece a medida que la parte no decimal del número aumenta. Las variables dobles son adecuadas para
cálculos precisos. Los cálculos requieren más tiempo que las variables simples. Una variable doble
requiere 8 bytes de memoria. El carácter de declaración de tipo es "#".
Dim Variable#
Dim Variable As Double
Variables de moneda
Las variables de moneda se almacenan internamente como números de 64 bits (8 bytes) y se muestran
como números con cantidad de decimales fija con 15 posiciones no decimales y 4 decimales. El rango de
valores va de -922337203685477,5808 a +922337203685477,5807. Las variables de moneda se usan
para calcular valores de divisas con una precisión elevada. El carácter de declaración de tipo es "@".
Dim Variable@
Dim Variable As Currency
Variables de cadena
Las variables de cadena pueden contener cadenas de compuestas por hasta 65.535 caracteres. Cada
carácter se almacena como el valor Unicode correspondiente. Las variables de cadena son adecuadas
para el procesamiento de texto dentro de programas y para almacenamiento temporal de caracteres no
imprimibles de hasta una longitud máxima de 64 Kbytes. La memoria necesaria para almacenar variables
de cadena depende del número de caracteres que ésta contenga. El carácter de declaración de tipo es
"$".
Dim Variable$
Dim Variable as String
Variables lógicas
Las variables lógicas o booleanas sólo almacenan uno de estos dos valores: True (verdadero) o False
(falso). Un número 0 evalúa en FALSE, cualquier otro número evalúa en TRUE.
Dim Variable As Boolean
Variables de fecha
Las variables de fecha sólo pueden contener valores de fecha y hora almacenados en un formato interno.
Los valores asignados a las variables de fecha con Dateserial, Datevalue, Timeserial o Timevalue se
convierten automáticamente al formato interno. Las variables de fecha se convierten en números
normales mediante las funciones Day, Month y Year o bien Hour, Minute y Second. El formato interno
permite una comparación de valores de fecha/hora calculando la diferencia entre dos números. Estas
variables sólo pueden declararse con la palabra clave Date.
Dim Variable As Date
Valores iniciales de las variables
En cuanto se declara la variable, ésta toma automáticamente el valor "Null" (nulo). Tenga en cuenta las
convenciones siguientes:
A las variables Numéricas se les asigna automáticamente el valor "0" en cuanto se declaran.
A las variables de fecha se les asigna el valor 0 internamente; que equivale a convertir el valor a "0" con
la función Day, Month y Year o Hour, Minute y Second.
A las variables de cadena se les asigna una cadena vacía ("") cuando se declaran.
Matrices
OpenOffice.org Basic distingue matrices de una o varias dimensiones, definidas por un tipo de variables
especificado. Las matrices son convenientes para editar listas y tablas en los programas. Se puede
acceder a los elementos individuales de las matrices utilizando un índice numérico.
Las matrices deben declararse con la instrucción Dim.Hay varias maneras de definir el rango de índices
de una matriz:
DIM text$(20)
21 elementos numerados del 0 al 20
DIM text$(5,4)
30 elementos (una matriz de 6 x 5 elementos)
DIM text$(5 to 25)
21 elementos numerados del 5 al 25
DIM text$(-15 to 5)
21 elementos (incluido el 0), numerados del 15 al 5
El rango del índice puede incluir números positivos y negativos.
Constantes
Las constantes tienen un valor fijo. Sólo se definen una vez en el programa y no pueden volverse a definir
más adelante:
CONST NombreConst=Expresión
14. ENTORNO DE TRABAJO
El entorno de trabajo de la suite openoffice.org Basic es similar al de visual Basic de Microsoft. En el se
establecen varias ventanas con las cuales se pueden realizar, controlar marcar y supervisar las macros
creadas desde el entorno ooBasic. Para ello se dispone de un entorno de trabajo (sript) principal en
donde se digita el código de programación de las macros incluyendo el procedimiento principal y las
funciones auxiliares o subrutinas. Se dispone además de una barra de herramientas en donde aparecen
los comandos representativos de la ejecución de las macros y biblioteca de funciones o procedimientos
creados. En el esquema que se presenta a continuación se especifica mediante un ejemplo el entorno de
trabajo de Openoffice.org especificando además algunos de los principales comandos para la creación,
ejecución, corrección y edición de macros:
El entorno de trabajo se puede dividir en cuatro partes como tal:
Lineas de codigo (Basic IDE):
Es la parte principal del entorno de programación, ya que el se puede realizar, editar y
visualizar el codigo de programacionb de las macros ya sean grabadas o digitadas
directamente por el usuario.
Barras de herramientas:
Es la barra que se encuentra en la parte superior del entorno, en ella se establecen todos
los comandos generales del programa en los diversos menus tales como archivo, ver,
editar, herramientas, ventana y ayuda; encontando en estos las opciones generales de
openoffice.org tales como abrir, guardar, imprimir, copiar, pegar, etc; ademas consta de un
cuadro de controlen donde se ubican las opciones de manejo de macros y programación,
en el esquema mostrado se muestan las opciones mas importantes de control y ejecución
del entorno de programación. A continuación se explican algunos de ellos:
Barra de herramientas de macros
La Barra de herramientas de macros contiene órdenes para crear, editar y ejecutar
macros.
Biblioteca
Permite Seleccionar la biblioteca que desea usar.El primer módulo de la biblioteca que
seleccione se muestra en el Basic IDE.
Listado
Biblioteca
Compilar
Permirte Compilar (traducir a lenguaje maquina) la macro creada en ooBasic. Después de
efectuar cambios en una macro o si ésta utiliza pasos únicos o de procedimiento, es
necesario compilarla.
Compilar
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
42
Ejecutar
Ejecuta la primera macro del módulo actual.
Ejecutar
Detener
Detiene la macro que está ejecutándose en ese momento. También se acciona al pulsar
Control+Alt+S.
Detener
Paso a paso
Ejecuta la macro y se detiene después del siguiente procedimiento.
Paso
a
paso
Paso único
Ejecuta la macro y se detiene después del siguiente comando.
Paso
único
Con la ejecución de paso único puede comprobarse que no haya errores en ninguna línea
del programa Basic. Los errores se pueden rastrearse fácilmente ya que los resultados de
cada paso pueden verse inmediatamente. Un puntero de la columna de puntos de ruptura
del editor indica cuál es la línea actual. También puede establecer puntos de ruptura si
desea forzar la interrupción del programa en una posición específica.
Salto atrás
Retrocede a la rutina anterior de la macro actual.
Salto
atrás
Punto de ruptura
Inserta un punto de ruptura en la línea de programa.
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
43
Punto
de
ruptura
Administrar puntos de interrupción
Abre un diálogo para administrar los puntos de interrupción.
Gestión de los puntos de
ruptura
Habilitar inspección
Haciendo “clic” en este icono se podrá ver las variables de una macro. El contenido de la
variable se muestra en una ventana aparte.
Habilitar
inspección
Catálogo de objetos
Abre el diálogo Objetos, en el que pueden verse objetos Basic.
Catálogo
de
objetos
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
44
Aparecerá lo siguiente:
Macros
Abre el diálogo Macro donde aparecen las macros creadas en el entorno ooBasic para su
utilizacion.
Macros
Aparecerá lo siguiente:
Módulos
Ejecuta el organizador de macros basiocas de openoffice.org.
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
45
Módulos
Aparecerá lo siguiente:
Buscar paréntesis
Resalta el texto que está incluido entre dos paréntesis. Se utiliza situando el cursor de
texto delante de un paréntesis de apertura o cierre y luego pulsar este icono.
Buscar
paréntesis
Insertar campos de control
Abre la barra Cuadro de herramientas.
Insertar
campos
de
control
Insertar texto fuente
Abre el texto fuente Basic en la ventana Basic IDE.
Insertar
texto
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
46
fuente
Guardar el texto fuente como
Guarda el código fuente de la macro Basic seleccionada.
Guardar el texto fuente
como
Ventana Pila de llamada (Llamadas):
La ventana “Pila de llamada” permite supervisar la secuencia de procedimientos y
funciones durante la ejecución de un programa. Los procedimientos y funciones se
muestran de abajo a arriba con la llamada a la función o procedimiento más reciente en la
parte superior de la lista.
Ventana Observador:
En la ventana de inspección se puede ver el valor de las variables durante la ejecución de
un programa. Definiendo las variables en el cuadro de texto de inspección. Puede agregar
la variable al cuadro de lista y ver los valores al hacer “clic” en el boton “Habilitar
Inspeccion”.
Puede escribir en el cuadro de texto la variable cuyo valor se visualizará en el cuadro de
lista.
Eliminar observador
Elimina la variable seleccionada de la lista de variables observadas.
Eliminar
observador
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
47
Edición del valor de una variable observada
Muestra la lista de las variables observadas. Uselo pulsando dos veces haciendo una
pequeña pausa sobre una entrada para editar su valor. El valor nuevo se tomará como el
de la variable para el programa.
Para ingresar al entorno de programación de Openopffice.org es necesartio ingrsar a
cualquier programa de la suite offimática de openoffice.org, luego seleccionando
Herramientas>macros>Organizar macros>Openoffice.org Basic, esto abrira la ventana de
macros básicas de openoffice.org, sera como la sigueinte:
En esta ventana se puede realizar la ejecución de macros ya grabadas, seleccionando la
opcion Mis macros>Standard>module# (sugun el programa), aparecerán las macros
grabadas para el mofulo seleccionado, luego haga “clic” sobre la que desea ejecutar y
selecione el boton “Ejecutar”. Si después de realizar la selección de la macro deseada
hace “clic” en editar podrá ingresar al entorno de trabajo “modo de diseño” para la macro
seleccionada. Haciendo la selección Standard>Nuevo, podrá ingrsar al entorno de
tranbajo de openoffice.org para realizar una nueva macro.
Pude tambien eliminar la macro seleccionada haciendo “clic” en eliminar.
Hacienmdo “clic” en asignar podra personalizar y asignarle a la macro creada nuevos
comandos. Seleccionando la opcion “Administrar” ejecutará el organizador de macros
basicas de openoffice.org Basic.
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
48
Al realizar la ejecución de una macro en algun programa de la suite offimatica de
openoffice.org se activa el entorno openoffice.org en el modo ejecución, tambien puede
modificar el codigo fuente al seleccionar “modo diseño” en la barra de herramioentas, esto
abrirá openoffice.org Basic con el codigo fuente la la macro seleccionada:
Modo Diseño
Esta función se utiliza para cambiar rápidamente entre los modos Diseño (entorno
openoffice.org Basic) y Usuario. Active para editar los campos de control del formulario,
desactive para poder utilizarlos.
Para acceder a este comando...
Abra la barra de herramientas Campos de control de formularios o Diseño de
formularios y haga “clic” en
Modo
Diseño
Tenga en cuenta la función Abrir en modo Diseño. Si este comando está activado, el
documento se abre siempre en modo Diseño, independientemente del estado en que se
guardó. Desactive este comando para que el usuario no abra el documento final en modo
Diseño.
Si el formulario está vinculado a una base de datos y se desactiva el modo Diseño, la
barra del formulario se muestra en el margen inferior de la ventana del documento. El
diálogo Propiedades del formulario permite configurar la vinculación a la base de datos.
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
49
15. OBJETIVOS CURSOS LIBRES
•
Familiarizar a los estudiantes con el entorno de programación de OOo, de tal
forma que manejen el análogo de Visual Basic en Linux.
•
Capacitar al estudiante para resolver problemas que puedan surgir en su vida
académica con el uso de herramientas de optimización como las macros
programadas.
•
Explotar, aprovechar e implementar al máximo las herramientas libres como una
forma alternativa de realizar y optimizar procesos, inculcando la iniciativa a los
futuros profesionales la utilización de esta clase software para ser implementados
empresarialmente.
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
50
16. MACROS CURSOS LIBRES
La siguiente macro encuentra las raíces de una ecuación cuadrática de la forma
ax2+bx+c:
Sub solucioncuadratica
dim a,b,c as double
Dim raiz1 As double
Dim raiz2 As double
'Function Fibonnaci( Count As Integer )
a = Int(InputBox$ ("Escriba el valor de a","Entrada de valor"))
b = Int(InputBox$ ("Escriba el valor de b","Entrada de valor"))
c = Int(InputBox$ ("Escriba el valor de c","Entrada de valor"))
if a=0 then
Print "El valor de a no puede ser cero"
else
Raiz1=((-b)+((b^2)-(4*a*c))^(1/2))/(2*a)
Raiz2=((-b)-((b^2)-(4*a*c))^(1/2))/(2*a)
endif
print "Las raices son "; Raiz1,raiz2
End Sub
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
51
Es este un libro de cálculo?
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
52
Un libro de cálculo está compuesto de un conjunto de hojas. Antes de poder usar los
métodos específicos del libro de cálculo, se debe tener un documento libro de cálculo. Se
puede verificar esto de la siguiente manera:
Function IsSpreadhsheetDoc(oDoc) As Boolean
On Local Error GoTo NODOCUMENTTYPE
IsSpreadhsheetDoc =oDoc.SupportsService(_
"com.sun.star.sheet.SpreadsheetDocument")
NODOCUMENTTYPE:
If Err <> 0 Then
IsSpreadhseetDoc = False
Resume GOON
GOON:
End If
End Function
Imprimiendo el valor de una Celda, Cadena o Fórmula.
'******************************************************************
Sub ExampleGetValue
Dim oDocument As Object, oSheet As Object, oCell As Object
oDocument=ThisComponent
oSheet=oDocument.Sheets.getByName("Sheet1")
oCell=oSheet.getCellByposition(0,0) 'A1
print oCell.getValue
'print oCell.getString
'print oCell.getFormula
End sub
Estableciendo el valor de una Celda, Formato, Cadena o Fórmula.
'******************************************************************
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
53
Sub ExampleSetValue
Dim oDocument As Object, oSheet As Object, oCell As Object
oDocument=ThisComponent
oSheet=oDocument.Sheets.getByName("Sheet1")
oCell=oSheet.getCellByPosition(0,0) 'A1
oCell.setValue(23658)
'oCell..NumberFormat=2 '23658.00
'oCell.SetString("oops")
'oCell.setFormula("=FUNCTION()")
'oCell.IsCellBackgroundTransparent = TRUE
'oCell.CellBackColor = RGB(255,141,56)
End Sub
Limpiar una celda
Sub ClearDefinedRange
Dim oDocument As Object, oSheet As Object, oSheets As Object
Dim oCellRange As Object
Dim nSheets As Long
oDocument = ThisComponent
oSheets = oDocument.Sheets
nSheets = oDocument.Sheets.Count
oSheet = oSheets.getByIndex(2) Rem the range is from 0 to n-1
oCellRange = oSheet.getCellRangeByName("range_you_set")
oCellRange.clearContents(_
com.sun.star.sheet.CellFlags.VALUE | _
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
54
com.sun.star.sheet.CellFlags.DATETIME | _
com.sun.star.sheet.CellFlags.STRING | _
com.sun.star.sheet.CellFlags.ANNOTATION | _
com.sun.star.sheet.CellFlags.FORMULA | _
com.sun.star.sheet.CellFlags.HARDATTR | _
com.sun.star.sheet.CellFlags.STYLES | _
com.sun.star.sheet.CellFlags.OBJECTS | _
com.sun.star.sheet.CellFlags.EDITATTR)
End Sub
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
55
Dirección imprimible de una Celda.
Function PrintableAddressOfCell(the_cell As Object) As String
PrintableAddressOfCell = "Unknown"
If Not IsNull(the_cell) Then
PrintableAddressOfCell = the_cell.getSpreadSheet().getName + ":" + _
ColumnNumberToString(the_cell.CellAddress.Column) + (the_cell.CellAddress.Row+1)
End If
End Function
' Se numeran las columnas desde cero, donde este valor corresponde a 1
Function ColumnNumberToString(ByVal the_column As Long) As String
Dim s$
'Save this so I do NOT modify the parameter.
'This was an icky bug that took me a while to find
Do
s$ = Chr(65 + the_column MOD 26) + s$
the_column = the_column / 26
Loop Until the_column = 0
ColumnNumberToString = s$
End Function
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
56
Insertar fechas formateadas en una Celda
Esta Macro Inserta la fecha en la celda actual. Da un mensaje de error si el documento
actual no es una hoja de cálculo. Además el código provee la manera de formatear la
fecha con el estilo que se elija.
'******************************************************************
Sub InsertDateIntoCell
Dim oDesktop As Object, oController As Object, oSelection As Object
Dim doc As Object
oDesktop = createUnoService("com.sun.star.frame.Desktop")
oController = oDesktop.CurrentFrame.Controller
doc = oController.Model
If doc.SupportsService("com.sun.star.sheet.SpreadsheetDocument") Then
oSelection = oController.Selection
' Inseratndo el dato de fecha
oFunction = CreateUnoService("com.sun.star.sheet.FunctionAccess")
oFunction.NullDate = doc.NullDate
Dim aEmpty()
oSelection.Value = oFunction.callFunction("NOW", aEmpty())
oFormats = doc.NumberFormats
dim aLocale as new com.sun.star.lang.Locale
oSelection.NumberFormat = oFormats.getStandardFormat(_
com.sun.star.util.NumberFormat.DATETIME, aLocale)
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
57
' Set the format to something completely different
oSelection.NumberFormat = FindCreateNumberFormatStyle(_
' "YYYYMMDD.hhmmss", doc) Else
MsgBox "This macro must be run in a spreadsheet document"
End If
End Sub
Rellenar un rango seleccionado con texto
Esta simple macro cambia a través del texto seleccionado poniendo el texto de “UIFCE”.
'******************************************************************
Sub FillCells
oSelect=ThisComponent.CurrentSelection
oColumn=oselect.Columns
oRow=oSelect.Rows
For nc= 0 To oColumn.getCount-1
For nr = 0 To oRow.getCount-1
oCell=oselect.getCellByPosition (nc,nr).setString ("UIFCE")
Next nr
Next nc
End Sub
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
58
Algunos estados del texto seleccionado
'******************************************************************
'Esta macro toma la selección actual e imprime un mensaje
'indicando el rango seleccionado y el número de celdas seleccionadas
Sub Analize
sSum="=SUM("+GetAddress+")"
sAverage="=AVERAGE("+GetAddress+")"
sMin="=MIN("+GetAddress+")"
sMax="=MAX("+GetAddress+")"
CellPos(7,6).setString(GetAddress)
CellPos(7,8).setFormula(sSum)
CellPos(7,8).NumberFormat=2
CellPos(7,10).setFormula(sAverage)
CellPos(7,10).NumberFormat=2
CellPos(7,12).setFormula(sMin)
CellPos(7,12).NumberFormat=2
CellPos(7,14).setFormula(sMax)
CellPos(7,14).NumberFormat=2
End sub
Function GetAddress 'selected cell(s)
oSelect=ThisComponent.CurrentSelection.getRangeAddress
oSelectColumn=ThisComponent.CurrentSelection.Columns
oSelectRow=ThisComponent.CurrentSelection.Rows
CountColumn=oSelectColumn.getCount
CountRow=oSelectRow.getCount
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
59
oSelectSC=oSelectColumn.getByIndex(0).getName
oSelectEC=oSelectColumn.getByIndex(CountColumn-1).getName
oSelectSR=oSelect.StartRow+1
oSelectER=oSelect.EndRow+1
NoCell=(CountColumn*CountRow)
If CountColumn=1 AND CountRow=1 then
GetAddress=oSelectSC+oSelectSR
Else
GetAddress=oSelectSC+oSelectSR+":"+oSelectEC+oSelectER
End If
End Function
Function CellPos(lColumn As Long,lRow As Long)
CellPos= ActiveSheet.getCellByPosition (lColumn,lRow)
End Function
Function ActiveSheet
ActiveSheet=StarDesktop.CurrentComponent.CurrentController.ActiveSheet
End Function
Sub DeleteDbRange(sRangeName As String)
oRange=ThisComponent.DatabaseRanges
oRange.removeByName (sRangeName)
End Sub
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
60
Ordenar un rango
'******************************************************************
Sub SortRange
Dim oSheetDSC,oDSCRange As Object
Dim aSortFields(0) as new com.sun.star.util.SortField
Dim aSortDesc(0) as new com.sun.star.beans.PropertyValue
oSheetDSC = ThisComponent.Sheets.getByName("Sheet1")
oDSCRange = oSheetDSC.getCellRangeByName("A1:L16")
ThisComponent.getCurrentController.select(oDSCRange)
aSortFields(0).Field = 0
aSortFields(0).SortAscending = FALSE
aSortDesc(0).Name = "SortFields"
aSortDesc(0).Value = aSortFields()
oDSCRange.Sort(aSortDesc())
End sub
Insertar fecha formateada dentro de un documento de texto
Esto insertará el texto “Today is <fecha> ” donde la fecha es formateada como “DD. MMM
AAAA”. Esto creará el formato de fecha si no existe.
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
61
'******************************************************************
Sub InsertDateField
Dim oDocument As Object
Dim oText As Object
Dim oViewCursor As Object
Dim oTextCursor As Object
Dim oDateTime As Object
oDocument = ThisComponent
If oDocument.SupportsService("com.sun.star.text.TextDocument") Then
oText = oDocument.Text
oViewCursor = oDocument.CurrentController.getViewCursor()
oTextCursor = oText.createTextCursorByRange(oViewCursor.getStart())
oText.insertString(oTextCursor, "Today is ", FALSE)
' Crear el formato fecha.
ODateTime = oDocument.createInstance("com.sun.star.text.TextField.DateTime")
oDateTime.IsFixed = TRUE
oDateTime.NumberFormat = FindCreateNumberFormatStyle(_
"DD. MMMM YYYY", oDocument)
oText.insertTextContent(oTextCursor,oDateTime,FALSE)
oText.insertString(oTextCursor," ",FALSE) Else
MsgBox "Sorry, this macro requires a TextDocument"
End If
End Sub
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
62
17. CONCLUSIONES
•
La Ayuda de OOo permite entender rápidamente los procedimientos que se deben
seguir para realizar una acción. Este comando es muy completo.
•
Conocer las funciones operadores e instrucciones permiten ejecutar correctamente
un procedimiento deseado.
•
El entorno de OOo Basic es muy similar al de Visual Basic.
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
63
18. BIBLIOGRAFIA
Ejemplo basado en el libro de macros de Andrew Pitonyak
http://www.pitonyak.org/AndrewMacro.sxw
Documentación OOo en castellano
http://es.OpenOffice.org/servlets/ProjectDocumentList?dcID=1249&action=downl
oad
Listas de discusión OOo en castellano
http://es.OpenOffice.org/servlets/ProjectMailingListList
StarOffice 7 Basic Programmer's Guide
http://docs.sun.com/db/coll/so7en
/superalumnos.net
Ayuda OpenOficce org.
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
64
Descargar