Introducción a la. programación en. OpenOffice.org Basic
|
|
|
- Manuel Núñez Rico
- hace 10 años
- Vistas:
Transcripción
1 OpenOffice Basic Fermí Vilà BA-1 Introducción a la programación en OpenOffice.org Basic Fermí Vilà
2 OpenOffice Basic Fermí Vilà BA Nuestro primer programa El OpenOffice Basic es un lenguaje de programación completo (es una versión de BASIC), que nos permite crear aplicaciones visuales interactivas y completas por medio de nuestro OpenOffice. - Ejecuta el OpenOffice Calc - Asegúrate que el nivel de seguridad está bajo. Es decir: Menú Herramientas Opciones... OpenOffice.org: Seguridad [Seguridad de Macros...] Bajo (no recomendado). [Aceptar] [Aceptar] - Graba el libro de cálculo (que de momento está vacío) como Macro01 en TuCarpeta - Menú Herramientas Macros Organizar macros OpenOffice.org Basic... Haz clic en [Editar] Acabamos de acceder al Module1 de nuestro fichero Macro01, observa la pestaña del ángulo inferior izquierdo: Es el lugar donde escribiremos nuestros programas en OpenOffice Basic. Observa que de hecho nos encontramos en una ventana separada del Macro01.ods: Borra todo lo que aparece en el Editor del Basic, exceptuando:
3 OpenOffice Basic Fermí Vilà BA-3 Todas las líneas, precedidas por REM representan comentarios para el programador. Es decir a efectos de programa tanto da dejar la línea como ponerla. - Escribe en el Editor del Basic, el siguiente programa: - Clic en el icono Guardar y cierra la ventana correspondiente al editor de OooBasic (Mis macros y diálogos.standard OpenOffice.org Basic) - Vamos a ejecutar nuestro programa: Menú Herramientas Macros Ejecutar macro... Clic en [+] de Mis macros Clic en [+] de Standard de Mis macros Clic en Module 1 [Ejecutar] Si todo funciona correctamente, en la celda D9 de nuestra hoja de cálculo, aparece la frase Hola Mundo Sitúate en el Editor del Basic para visualizar el programa, es decir: Menú Herramientas Macros Organizar macros OpenOffice.org Basic... [Editar] 1º) Básicamente existen dos tipos de programas : procedimientos o funciones. Nuestro programa es un procedimiento porque empieza por Sub y acaba por End Sub 2º) Observa la estructura de un procedimiento (llamado también subprocedimiento): Sub NombreDelPrograma Sentencia 1 Sentencia 2 Sentencia End Sub 3º) Las primeras líneas de un programa se usan normalmente para declarar los elementos que utilizaremos en el programa. Para ello, en el BASIC, se utiliza la cláusula Dim: Dim Hoj As Object Dim Cel As Object Declaramos dos objetos (nuestro BASIC, permite la POO: programación orientada a objetos), que serán, el primero una hoja de cálculo y el segundo una celda.
4 OpenOffice Basic Fermí Vilà BA-4 4º) Hoj = ThisComponent.Sheets(0) Definimos el objeto Hoj como nuestro documento (ThisComponent = este componente), concretamente la Hoja 1 (Sheets(0) = Hoja 1). Se empieza a contar por 0, igual que en las coordenadas que vemos a continuación. 5º) Cel = Hoj.getCellByPosition(3,8) Definimos el objeto Cel como la celda de la Hoja de cálculo (Hoj) de coordenadas (3,8). Coordenadas de una celda = (X, Y) 1ª coordenada: X, número de columna = x + 1 2ª coordenada: Y, número de fila = y + 1 Es decir: Número de columna = = 4, por lo tanto: A, B, C, D Número de fila: = 9, por lo tanto fila 9 En definitiva, se trata de la ceda : D9 6º) Cel.SetFormula( Hola Mundo ) En el objeto Cel, construido anteriormente, escribe el texto (SetFormula), que tenemos entre comillas y paréntesis. 2.- Botones La forma de ejecutar el programa: Menú Herramientas Macros Ejecutar macro... Seleccionar el programa y [Ejecutar] es bastante laborioso; veamos otra forma de hacerlo, pero antes... - Sitúate en el Editor del Basic del Macro01 y escribe (a continuación del Prog01): - Sitúate en la Hoja 1 del Macro01.ods Graba el libro de cálculo: clic en Guardar Ejecuta el programa Prog02. Es decir: Menú Herramientas Macros Ejecutar macro... Selecciona el Prog02 (en Mis macros Standard Module 1) y [Ejecutar] Si todo funciona correctamente, en la Hoja2, celda B2 tenemos la frase Hola Mundo Si comparas nuestro programa Prog02 con el anterior, aparte de la hoja, ahora estamos en la Sheets(1). La sintaxis corresponde a la POO: el operador punto para separar los diferentes objetos hasta llegar a un último objeto, que no es más que una propiedad o un método (acción). Es decir, en nuestro caso: Objeto1.SubObjetoA.SubObjetoB.Método Objeto1 = ThisComponent (este componente, en nuestro caso un libro de cálculo) SubObjetoA = Sheets(1) (la hoja 2 del libro anterior) SubObjetoB = getcellbyposition(1,1) (la celda B2 del objeto anterior) Método = SetFormula( Hola Mundo ) (acción = escribe en el objeto anterior, Hola Mundo ) - Borra el Hola Mundo de la Hoja2 y sitúate en la Hoja1 Vamos a ejecutar nuestro Prog02, utilizando un botón... Necesitamos la barra de iconos Campos de control de formulario, en caso de no estar presente Haz lo siguiente:
5 OpenOffice Basic Fermí Vilà BA-5 Menú Ver Barras de Herramientas... Clic en Campos de control de formulario - Clic en el botón: de la nueva barra. Según la versión de OpenOffice, la imagen del botón puede ser diferente. - Marca un recuadro que abarque la celda B2 (estamos en la Hoja1) aproximadamente: - Con el botón que acabamos de crear seleccionado, accede a su menú contextual. Selecciona la opción: Campo de Control... Solapa: General Propiedad Título: borra Botón y escribe en su lugar Prog02 Solapa: Acontecimientos Sitúa el cursor de escritura en el campo Botón del ratón pulsado y clic en su [...] [Asignar] Mis macros Standard Module 1 - Prog02 [Aceptar] [Aceptar] Cierra la ventana Propiedades: Botón (clic en la X de su extremo superior derecho) Haz clic en el icono Modo Diseño : para salir del modo diseño y volver al modo ejecución. Según la versión de OpenOffice, la imagen del botón puede ser diferente. Vamos a probar el botón: - Clic en [Prog02] - Si todo funciona correctamente en B2 de Hoja2, tendremos Hola Mundo Borra el texto anterior y vuelvelo a probar. Por último graba la hoja Macro01.ods con el mismo nombre y ciérrala 3.- Cuadros de diálogo estándard En los programas anteriores, hemos utilizado celdas de una hoja de cálculo, para escribir resultados. Aparte de los cuadros de diálogo personalizados, que veremos más adelante, podemos utilizar los llamados Cuadros de diálogo estándar. - Crea una hoja de cálculo nueva (Menú Archivo Nuevo Hoja de Cálculo) y grábala como Macro02.ods en TuCarpeta - Accede al Editor del Basic del Macro02.ods Menú Herramientas Macros Organizar macros OpenOffice.org Basic...
6 OpenOffice Basic Fermí Vilà BA-6 Si seleccionas: Mis macros Standard Module 1 verás que aparecen los programas Prog01 y Prog02. Por defecto, al crear un programa, nos colocamos automáticamente en Mis macros y al escribir el o los programas en el Standard de Mis macros, éstos serán accesibles desde cualquier documento OOo. A partir de ahora grabaremos nuestros programas en el documento correspondiente, es decir: Selecciona Standard de Macro02.ods [Nuevo] Acepta el nombre Module1 - Escribe los programas: - Vuelve a la pantalla del Macro02.ods (Hoja1), vamos a crear un botón para ejecutar el Prog03, es decir: Con la barra Campos de control de formulario a la vista. Clic en el icono Botón : Marca un recuadro que abarque a la celda B2 (un poco más grande) Accede al menú contextual del botón acabado de insertar Haz clic en la opción Campo de Control... Establece como propiedad Título: Prog03 (Solapa: General) Pestaña: Acontecimientos En el campo Botón del ratón pulsado, asigna el programa Prog03 de Macro02.ods (Standard Module1) Sal del modo diseño: clic en el icono Modo Diseño: - Prueba el funcionamiento del botón; si todo va bien, tendremos: - Crea otro botón, pero ahora asociado al Prog04: En este caso tendremos:
7 OpenOffice Basic Fermí Vilà BA-7 Está claro que el cuadro de diálogo MsgBox tiene muchas posibilidades, ya las estudiaremos más adelante en detalle. Ahora nos interesa un cuadro de diálogo que nos permita entrar datos... Sitúate en el Editor del Basic del Macro02.ods y escribe el siguiente programa: - Sitúate en la Hoja1 del Macro02.ods y crea un botón que has de asociar al Prog05: - Ejecuta el Prog05, es decir, clic en [Prog05]. Si todo funciona correctamente, debería pasar algo así: - Vamos a estudiar el Prog05 (sitúate en el editor del Basic, para visualizarlo): Dim nom As String, ciudad As String Declaramos dos variables (nom y ciudad) de texto (String) nom = InputBox( Escribe tu nombre ) InputBox es un cuadro de diálogo estándar, que contiene un mensaje (que es lo que escribimos entre comillas y paréntesis) y un campo en blanco; donde el usuario del programa puede escribir lo que quiera. En el momento de hacer clic en el [Aceptar] del InputBox, lo que hemos escrito en el campo que estaba vacío, se entiende como un texto (ya veremos cuando necesitemos un número) y se guarda en la variable de nombre nom. MsgBox mensaje1 & variable1 & mensaje2 & Chr$(13) & variable2... Observa en primer lugar, el operador de concanetación (unir), se trata del ampersand y lo que hace es unir los diferentes elementos que opera ; estos elementos pueden ser:. El texto que sea encerrado entre comillas. Variables. Chr$(13): que representa la pulsación de un [Return], o si tú quieres: fuerza a una nueva línea lo que viene a continuación.
8 OpenOffice Basic Fermí Vilà BA-8 Para acabar este apartado, vamos a hacer un programa que mezcle los cuadros de diálogo estándar y los elementos de nuestros documentos Calc (celdas en nuestro caso)... - Sitúate en el Editor del Basic y escribe: - Sitúate en Macro02.ods Crea un botón asociado a Prog06 Prueba el funcionamiento del programa Espero que te funcione correctamente Graba el libro de cálculo con el mismo nombre Macro02.ods 4.- Tipos de Variable OpenOffice Basic soporta los tipos numéricos, cadenas, booleanos y objetos variables. Los objetos son usados principalmente para referirse a los elementos internos del OpenOffice como documentos, tablas, etc. Con un objeto podremos usar sus correspondientes propiedades y métodos. Si usamos Dim :los tipos numéricos son inicializados en cero y las cadenas como la cadena vacía Los tipos más utilizados (no los únicos): - Tipo Boolean: puede tomar los valores True (verdadero = -1) y o False (falso = 0) - Tipo String: cadena de texto Si escribimos el carácter $ al final del nombre, automáticamente definimos un String Es decir: Dim nom$ es equivalente a Dim nom As String - Tipo Integer: número entero Número de a Dim x% Es equivalente a Dim x As Integer - Tipo Long: número largo Número entero entre: y Tipo Double: número decimal - Crea un nuevo libro de cálculo, que deberás grabar como Macro03.ods en TuCarpeta - Accede al Editor del Basic (deberás crear un Module1) del Macro03 y escribe el siguiente procedimiento: - Sitúate en el Macro03.ods y crea un botón de título: Prog07, asociado al procedimiento Prog07. - Ejecuta el procedimiento Prog07 de la siguiente forma:
9 OpenOffice Basic Fermí Vilà BA-9 Veamos: Clic en [Prog07] Ante la primera ventana, haz lo que te dice el programa: Escribe lo que quieras y [Aceptar] o pulsa[return] Número de Columna?, escribe 5 y [Return] Número de Fila?, escribe 7 y [Return] Si todo funciona correctamente, en la celda E7 (quinta columna, septima fila), aparece lo que has escrito primeramente. - Sitúate en el Editor del Basic y observa: Declaramos x e y como Integer ya que representarán las coordenadas de una celda InputBox ( ) devuelve un texto. Val(InputBox( )) devuelve un número. Dicho de otra forma: Val es una función que convierte una cadena que representa números, en dichos números (integer). - Sitúate en el Editor del Basic de Macro03.ods y escribe el siguiente procedimiento: - Sitúate en el Macro03.ods y crea un botón de Título = Prog08, asociado al procedimiento Prog08 - Ejecuta el procedimiento de la siguiente forma: Clic en [Prog08] Escribe como base del rectángulo 3,07 Escribe como altura del rectángulo 2,15 Si todo funciona correctamente en la celda B21, tendremos el número 6,6005 (siempre y cuando aumentemos el número de decimales) Veamos: - Sitúate en el Editor del Basic y observa: Coordenadas = (1,20) = 2ª columna 21 fila = B21 La base y la altura (bas, alt) se declaran Double, ya que pueden ser decimales. La función CDbl( ), convierte una cadena de caracteres en número double Cel.SetValue(bas*alt) bas*alt es un número. La función que escribe un número en una celda es SetValue. De la misma forma que lo hace SetFormula si es un texto. Sitúate en el Editor del Basic de Macro03.ods y escribe el siguiente procedimiento: - Sitúate en Macro03.ods y crea un botón de Titulo = Prog09, asociado al procedimiento Prog09 - Ejecuta el procedimiento de la siguiente manera: Clic en [Prog09] Escribe como radio de la circunferencia: 3,5812 Observa que pi = 3,
10 OpenOffice Basic Fermí Vilà BA-10 Si todo va bien en G7 aparece 22, (deberás aumentar el número de decimales de la celda) Veamos: - Sitúate en el Editor del Basic y observa: Coordenadas = (6,6) = 7ª columna 7ª fila = G7 longi =2*pi*radi Asignamos (el operador de asignación es el = ) a la variable longi el resultado del producto 2*pi*radi. pi, es una constante incorporada al lenguaje cuyo valor es 3, Observa que &, concatena sin problema texto y números: pi = & pi - Sitúate en el Editor del Basic de Macro03.ods y escribe el siguiente procedimiento: - Sitúate en Macro03.ods y crea un botón de Título = Prog10, asociado al procedimiento Prog10 - Ejecuta el procedimiento de la siguiente manera: Clic en el botón [Prog10] Base del triángulo = 3,75 Altura del triángulo = 2,17 Si todo funciona correctamente tendremos: - Observa el Prog10, el único elemento nuevo es cstr(), función que convierte un número a una cadena de caracteres. En efecto: SetFormula(cadena): coloca en la celda correspondiente el texto cadena bas es Double, por lo tanto SetFormula( Base = & cstr(bas)), es decir, en la celda correspondiente se escribirá el texto Base = y a continuación (operador & ) el texto bas ya que la función cstr, lo convierte en texto. - Para acabar este apartado: sitúate en el Module1 y escribe el siguiente procedimiento:
11 OpenOffice Basic Fermí Vilà BA-11 - Escribe en la Hoja1: Siendo en botón [Calcular], el botón de Título= Calcular, asignado al procedimiento Prog11 - Prueba el funcionamiento del procedimiento anterior de la siguiente forma: Escribe en la celda E3 = 3,4 Clic en [Calcular] Si todo funciona correctamente, en la celda E5, aparece 36, (=3,4*3,4*pi) Veamos, es importante porque estamos interactuando con el interface del Calc (no estamos utilizando ni el InputBox, ni el MsgBox)... - Sitúate en el Editor del Basic del Macro.03. para investigar el procedimiento: Prog11 Cel1, representa la celda E3 ya que Cel1 = Hoj.getCellByPosition(4,2): 5ªcolumna, 3ª fila. Cel2, representa la celda E5 ya que Cel2=Hoj.getCellByPositiuon(4,4): 5ª columna, 5ª fila En Cel1 nostros escribimos un dato (numèrico): para que el programa lo recoja hacemos Cel1.getValue,concretamente lo asignamos a la variable radi: radi=cel1.getvalue Si fuera texto, haríamos: Cel1.getFormula En Cel2 el programa ha de escribir un número, es decir: Cel2.SetValue(). Si fuera texto, escribiríamos: Cel3.SetF0rmula()
12 OpenOffice Basic Fermí Vilà BA-12 Ejercicios 1) Crea un nuevo libro de cálculo de nombre EjerM01.ods que contenga un procedimiento de nombre EjerM01, que se ejecute con un botón y funcione de la siguiente forma: - El programa nos pregunta nuestro nombre - El programa nos pregunta nuestra edad (en años, claro) - El programa escribe en la hoja de cálculo, nuestro nombre y a continuacion los días que tenemos de vida hasta el momento, de la siguiente forma: 2) Crea un nuevo libro de cálculo de nombre EjerM02.ods que contenga un procedimiento de nombre EjerM02, que se ejecute con un botón y haga lo siguiente: - El programa nos pide un número entero - El programa nos muestra el doble, el triple y el cuadruple del número que habíamos introducido de la siguiente forma: 3) Crea un nuevo libro de cálculo de nombre EjerM03.ods, que contenga dos procedimientos de nombre EjerM03 y EjerM03bis que funcionen de la siguiente forma: El botón [Calcular] está asociado al EjerM03 que calcula el determinante y el botón [Otro], que corresponde al EjerM03bis, lo único que hace es asignar la cadena vacía ( ) a las cuatro celdas. Observa que en nuestro programa no hay ningún InputBox ni MsgBox.
13 OpenOffice Basic Fermí Vilà BA La estructura If then End If Crea un nuevo libro de cálculo y grábalo con el nombre Macro04.ods en TuCarpeta Accede al Editor del Basic (deberás crear el Module1 en Macro04.ods) y escribe el siguiente programa: - Sitúate en la hoja de cálculo. Crea un botón asociado al procedimiento Prog12 y pruébalo. - Espero que te funcione correctamente en las dos versiones: Contestando a la pregunta con la palabra Pepe Contestando cualquier cosa que no sea Pepe - Estudio del Prog12 En la función InputBox, hemos escrito dos parámetros: el primero Estructura IF THEN ESLSE, es el que aparece en el interior del cuadro inputbox y el segundo no es más que el título de la ventana InputBox : Si escribimos un solo argumento, éste es el mensaje que aparece en el interior del cuadro, y no aparece ningún título en la ventana. Observa la estructura de programación IF THEN ELSE. Constituye la estructura de programación más simple: Si se cumple la condición, entonces haz lo siguiente, si no se cumple, haz esto otro. Es decir: Si (If) escribo Pepe entonces (then) aparecen dos cuadros, el primer cuadro con el mensaje Hola Pepe, el segundo cuadro con el mensaje No te conozco. En caso contrario (Else), es decir, si no escribo Pepe : aparece el mensaje Lo siento me he equivocado. Básicamente, con la estructura IF THEN ELSE, conseguimos una bifurcación del programa: el si entonces o el caso contrario. Veamos, que no únicamente representa una bifurcación, en el siguiente procedimiento (debido a que utilizamos todas las posibilidades de la estructura). - Sitúate en el Editor del Basic de Macro04 y escribe el siguiente procedimiento:
14 OpenOffice Basic Fermí Vilà BA-14 - Sitúate en la hoja de cálculo (no te olvides de ir grabando los cambios). Crea un botón asociado al procedimiento Prog13 y pruébalo como mínimo tres veces: para un número mayor de 100, para un número menor de 100 y escribiendo precisamente el 100. Espero que te funcione correctamente: Observa en definitiva, la sintaxis completa de la estructura: If condición1 Then Sentencia 1 Sentencia 2... ElseIf condición2 Then Sentencia 3 Sentencia 4... ElseIf condición3 Then Sentencia 5 Sentencia Else Sentencia 7 Sentencia 8... End If Debes tener en cuenta que las líneas de programa: sentencia 7, sentencia 8,... sólo se ejecutarán si no se cumple ninguna de las condiciones que hemos considerado en la estructura. 6.- Contadores. Operadores Lógicos Crea un nuevo libro de cálculo y grábalo con el nombre Macro05.ods en TuCarpeta Accede al Editor del Basic (deberás crear el Module1 en Macro05) y escribe el siguiente procedimiento:
15 OpenOffice Basic Fermí Vilà BA-15 - Sitúate en la hoja de cálculo (Hoja1). Crea un botón asociado al procedimiento Prog14 y pruébalo: - Ejecuta varias veces el programa, observando detenidamente su resultado y el mismo programa ya que nos encontramos con elementos nuevos, veamos Si al escribir un programa, nos encontramos con una línea demasiado larga, podemos redistribuirla en varias líneas, sin más que escribir el símbolo de subrayado al final de la línea (o cada línea), precedido de un espacio. Es decir: las líneas de programa: s = s + Valor de x después de pasar por el contador x=x+3 + Chr(9) + _ cstr(x)) + Chr(10) son en realidad una sóla línea. Declaramos una cadena: Dim s As String y la inicializamos a nada: s=. No sería necesario ya que al declararla, automáticamente se inicializa a nada. x=x+3 es un contador, instrumento muy utilizado en programación, que nos permite añadir al valor de X tres unidades. Si se lee de la siguiente forma, creo que se entiende mejor: El nuevo valor de X es igual al anterior valor de x + tres unidades. La función Chr(9) es equivalente a pulsar la tecla de tabulación: [Tab] La función Chr(10) es equivalente a pulsar la tecla [Return] o [Intro]. Equivale a Chr$(13) x=x-2, x=x*3 son dos contadores de x, en el primer caso modificará el valor de x disminuténdolo en 2 unidades y en el segundo lugar multiplicándolo por 3. El operador suma entre Strings se comporta como el operador de concatenación &. Es decir: sumar dos textos es equivalente a unirlos: colocarlos uno al lado del otro. s es una cadena (string) que pasa por diferentes contadores : s = s +... En la práctica, acumulamos en s muchos datos, que al incluir el Chr(9) y el Chr(10) se organizan en diferentes líneas (Chr(10)) y columnas (Chr(91)). Observa la técnica que utilizamos en este procedimiento: Acumulamos en s una serie de datos, durante la ejecución de todo programa y que mostramos al final: MsgBox s - Escribe en el Editor de Basic del Macro05.ods, el siguiente procedimiento:
16 OpenOffice Basic Fermí Vilà BA-16 - Sitúate en la hoja de cálculo (Hoja1). Crea un botón asociado al procedimiento Prog15 y ejecútalo varias veces: prueba las diferentes posibilidades: H, h, V, v, cualquier cosa. - Observa el Prog15: String*1 Significa string, es decir, texto pero de longitud 1, o sea, un solo carácter. Or Significa, evidentemento o - Escribe el siguiente procedimiento: - Crea un botón asociado al programa Prog16 y ejecuta el programa unas cuantas veces, buscando detenidamente lo que sucede: observa qué técnica más sencilla tenemos, para interrumpir un programa o volver a empezar. Acabamos de ver un programa con el operador lógico Or, vamos a ver ahora uno con el operador lógico And : utilizaremos este operador cuando sea preciso que para ejecutar un bloque de instrucciones se cumpla más de una condición. Observa que deberán cumplirse todas las condiciones... - Escribe en el Macro05.ods el siguiente procedimiento: - Crea un botón asociado al programa Prog17 y ejecuta el programa unas cuantas veces. Considera el caso: Patatas y Total >50 :
17 OpenOffice Basic Fermí Vilà BA-17 - Estudio del Prog17: Observa en primer lugar que no declaramos ninguna variable y el programa funciona exactamente igual. Si no declaramos una variable, por dfecto, el OpenOffice considerará a esta variable tipo Variant, esto es un tipo indefinido de variable que toma el valor correcto cuando adquiere o asignamos un valor. Bajo este punto de vista, podríamos pensar que es mejor no declarar las variables. Pero hay un problema: el tipo Variant es el que consume más memoria. La conclusión, pues, es declarar todas las variables, aunque el BASIC no nos lo exija. Observa el uso del operador dos puntos :, nos permite escribir varias sentencias distintas de un programa en una sola línea. Viene a ser el operador contrario al carácter de subrayado, precedido de un espacio en blanco, que nos permitía separar en varias líneas, una única sentencia. 7.- Otras estructuras de programación Crea un nuevo libro de cálculo y grábalo con el nombre Macro06.ods en TuCarpeta Accede al Editor de Basic (deberás crear el Module1 en Macro06.ods) y escribe el siguiente procedimiento: - Crea un botón (en Hoja1), asociado al procedimiento Prog18 y ejecuta el programa unas cuantas veces.
18 OpenOffice Basic Fermí Vilà BA-18 - La estructura de programación Select Case Select Case variable Case a Sentencia1 Sentencia2... Case b Sentencia3 Sentencia4... Case Else Sentencia5 Sentencia6... End Select Viene a ser una generalización de la estructura If Then: según el valor de la variable, se ejecutarán unas sentencias u otras. Veamos a continuación una generalización en las condiciones del Select Case... Escribe (en Macro06) el siguiente procedimiento: Sub Prog19 Dim num As Integer, notanum As Integer Dim bien As Integer, notacual As String, s As String Dim hoj As Object, Cel1 As Object, Cel2 As Object Dim Cel3 As Object, Cel4 As Object, Cel5 As Object Hoj=ThisComponent.Sheets(0) Cel1=Hoj.getCellByPosition(4,4):Cel2=Hoj.getCellByPosition(4,5) Cel3=Hoj.getCellByPosition(4,6):Cel4=Hoj.getCellByPosition(4,7) Cel5=Hoj.getCellByPosition(4,8) num=val(inputbox("escribe el número total de preguntas") bien=val(inputbox("escribe el número de respuestas acertadas") notanum=10*bien/num Select Case notanum Case 0 to 1 notacual="muy Deficiente" Case 2 to 3 notacual="deficiente" Case 4 notacual="insuficiente" Case 5 notacual="suficiente" Case 6 notacual="bien" Case 7 to 8 notacual="notable" Case 9 to 10 notacual="excelente" End Select s="nota Cualitativa" & Chr(10) & Chr(10) s=s & "Número de preguntas =" & num & Chr(10) s=s & "Número de correctas = " & bien & Chr(10) s=s & "Nota cualitativa = " & cstr(notanum) & Chr(10) s=s & "Nota cualitativa : " & notacual MsgBox s Cel1.SetFormula("Nota Cualitativa") Cel2.SetFormula("Número de preguntas " & cstr(num)) Cel3.SetFormula("Número de correctas " & cstr(bien)) Cel4.SetFormula("Nota Cuantitativa " & cstr(notanum))
19 OpenOffice Basic Fermí Vilà BA-19 Cel5.SetFormula("Nota Cualitativa " & notacual) End Sub - Crea en Hoja1 un botón asociado al procedimiento anterior y ejecútalo varias veces, para comprobar su funcionamiento. Veamos a continuación otra estructura de programación, en esta ocasión de tipo repetitivo. - Escribe en el Editor de Basic del Macro06.ods el siguiente procedimiento: - Crea en Hoja1 un botón asociado al procedimiento Prog20 y ejecútalo varias veces, para comprobar su funcionamiento. - Estudio del Prog20 La estructura For To Next For indice = número1 To número2 Sentencia 1 Sentencia 2 Sentencia 3... Next
20 OpenOffice Basic Fermí Vilà BA-20 El bloque de sentencias 1, 2, 3,... se repiten desde el número1 hasta el número2 de unidad en unidad Observa de qué forma acumulamos la suma, utilizamos un contador del tipo: Total = Total + Valor. Es decir, el nuevo valor de Total es el anterior valor de Total más el nuevo número Valor. - Escribe en el Editor de Basic de Macro06.ods el procedimiento: - Crea un botón asociado al procedimiento Prog21y ejecuta el programa. Si todo funciona correctamente, se rellenará el rango H11:H15 de los números pares 2, 4, 6, 8, 10 - Observa: For i=2 To 10 Step 2 Desde i=2 hasta i=10 de dos en dos (step = paso) Vamos a hacer un programa que nos permita calcular la media de 5 notas... - Escribe en el Editor de Basic de Macro06 el procedimiento: - Crea un botón asociado al procedimiento Prog22 y ejecuta varias veces el programa. Vamos a por otro ejercicio de for to next : escribe en el Editor de Basic del Macro06, el procedimiento:
21 OpenOffice Basic Fermí Vilà BA-21 - Crea un botón asociado al procedimiento Prog23 y ejecuta varias veces el programa. Vamos a estudiar la estructura repetitiva Do While... Loop... - Escribe en el Editor de Basic del Macro06.ods el siguiente procedimiento: - Crea un botón, en la Hoja2 de Macro06.ods, asociado al procedimiento Prog24 y ejecútalo varias veces. - La estructura de programación Do While - Loop Do While condición Sentencia1 Sentencia2... Loop Mientras se cumpla la condición, se repetirá la ejecución de las sentencias 1, 2, etc. - Escribe en el Editor de Basic del Macro06.ods el siguiente procedimiento: - Crea un botón, en la Hoja2, asociado al procedimiento Prog25 y ejecútalo. - En el Prog16 vimos una forma de volver a empezar, pero sólo una vez, en cambio en el Prog25 gracias a la estructura Do While Loop, disponemos de una tècnica para repetir la ejecución de un programa (volver a empezar), tantas veces como queramos. Vamos a complicar el programa, se trata de crear un procedimiento que sirva para incluir registros en una base de datos. El programa irá pidiendo datos mientras escribamos algún valor en el InputBox correspondiente al campo nombre, de forma que si al preguntar el nombre, no escribimos nada, se terminará la ejecución del bloque correspondiente al Do While Loop
22 OpenOffice Basic Fermí Vilà BA-22 - Escribe: Crea un botón asociado al procedimiento Prog26 y ejecútalo varias veces. Debes tener en cuenta que las celdas de la hoja de cálculo correspondientes a una fecha, deberás formatearlas así: como fechas. - Al introducir una fecha utilizando el InputBox, por defecto, deberás utilizar la notación inglesa: primero el mes y después el día. Graba el libro de cálculo Macro06.ods con el mismo nombre. Crea un nuevo libro de cálculo, que deberás grabar como Macro07.ods en TuCarpeta y crea un Module1 Programa que suma todos los números que queramos - Escribe en el Editor de Basic de Macro07 el siguiente procedimiento:
23 OpenOffice Basic Fermí Vilà BA-23 - Crea un botón, en la Hoja1 de Macro07, asociado al procedimiento anterior y ejecútalo unas quantas veces.
24 OpenOffice Basic Fermí Vilà BA-24 Programa que nos resuelve una equación de 2º grado - Escribe en el Editor del Basic del Macro07 el siguiente programa: Sub Prog28 Dim a As Double, b As Double, c As Double Dim dis As Double, x1 As Double, x2 As Double Dim x As Double, Hoj As Object a=cdbl(inputbox("coeficiente de x^2")) Hoj=ThisComponent.Sheets(0) Hoj.GetCellByPosition(4,0).SetFormula("Coeficiente de x^2 = " & cstr(a)) If a=0 then Hoj.GetCellByPosition(4,1).SetFormula("No es una ecuación de 2º grado") Else b=cdbl(inputbox("coeficiente de x= ")) Hoj.GetCellByPosition(4,1).SetFormula("Coeficiente de x = " & cstr(b)) c=cdbl(inputbox("término independiente = ")) Hoj.GetCellByPosition(4,2).SetFormula("Término Independiente = " & cstr(c)) dis=b^2-4*a*c If dis=0 then x=(-b)/(2*a) Hoj.GetCellByPosition(4,4).SetFormula("La ecuación tiene una solución = " & cstr(x)) End If If dis<0 then Hoj.GetCellByPosition(4,4).SetFormula("Las soluciones son imaginarias") End If If dis>0 then x1=(-b+sqr(dis))/(2*a): x2=(-b-sqr(dis))/(2*a) Hoj.GetCellByPosition(4,4).SetFormula("x1 = " & cstr(x1)) Hoj.GetCellByPosition(4,5).SetFormula("x2 = " & cstr(x2)) End If End If End Sub - Crea un botón, en la Hoja1 de Macro07, asociado al procedimiento anterior y ejecútalo para los casos: a=0 a=1 ; b=1 ; c=1 a=1; b=-4; c=4 a=1; b=1; c=-6 Pruébalo también para valores decimales. - Nota que la función Sqr(), es una función incorporada al Basic del OpenOffice, que nos permite calcular la raíz cuadrada de un número..
25 OpenOffice Basic Fermí Vilà BA-25 Suma y Producto de los múltiplos de 2 inferiores a 30 - Escribe en el Editor del Basic del Macro07 el siguiente procedimiento: - Crea un botón, en la Hoja1 de Macro07, asociado al procedimiento anterior y ejecútalo para probarlo Cálculo del factorial de un número - Escribe en el Editor del Basic de Macro07.ods el siguiente procedimiento: - Crea un botón, en la Hoja2 de Macro07 asociado al Prog30 y pruébalo varias veces. - Recuerda que el factorial de un número x es x! = x(x-1)(x-2)(x-3)
26 OpenOffice Basic Fermí Vilà BA-26 Programa que calcula los 10 primeros múltiplos del número que queramos, por último nos da la suma y el producto de todos ellos. - Escribe: - Crea un botón en la Hoja2 de Macro07 asociado al Prog31 y puébalo varias veces
27 OpenOffice Basic Fermí Vilà BA-27 Tabla de valores de la función y = x 2 5x Escribe en el Editor del Basic del Macro07.ods, el siguiente procedimiento: - Crea un botón, en la Hoja2 de Macro07, asociado al Prog32 y ejecútalo.
28 OpenOffice Basic Fermí Vilà BA-28 Cálculo de la hipotenusa de un triángulo rectángulo. El programa tiene la opción de volver a empezar. - Escribe en el Editor del Basic del Macro07.ods, el programa: - Crea un botón, en la Hoja2 de Macro07 asociado al Prog33 y calcula unas cuantas hipotenusas... - Observa: UCase(cadena): es una función incorporada al OpenOffice Basic, que transforma todas las letras de cadena a mayúsculas. Es decir, que escribir: UCase(opc) = S es equivalente a escribir: opc = S Or opc = s, pero más corto.
29 OpenOffice Basic Fermí Vilà BA-29 Programa que calcula el número e - Escribe en el Editor del Basic del Macro07, el siguiente programa: - Crea un botón, en la Hoja2 de Macro07 asociado a Prog34 y ejecútalo... - Observa: Exp(número) es una función incorporada al OpenOffice Basic, que nos da como resultado e elevado al número. Por lo tanto: Exp(1) = e
30 OpenOffice Basic Fermí Vilà BA-30 Ejercicios 4) Crea un nuevo libro de cálculo de nombre EjerM04.ods que contenga un procedimiento de nombre EjerM04, que haga lo siguiente: - El procedimiento nos pide que escribamos dos números positivos menores de 57 - El programa nos da como resultado el producto de los dos números - Si los números no son positivos o son mayores de 57, el programa nos lo dice. - El programa nos pregunta al final si queremos volver a empezar 5) Crea un nuevo libro de cálculo de nombre EjerM05.ods que contenga un procedimiento de nombre EjerM05 que haga lo siguiente: El programa nos va pidiendo números, hasta que escribimos el número 9999, por último el programa nos da como resultado el número de números introducidos, exceptuando el ) Crea un nuevo libro de cálculo de nombre EjerM06.ods que contenga un procedimiento de nombre EjerM06 que haga lo siguiente: El programa escribe todos los múltiplos de 23 inferiores a 1000 y por último nos da la suma de todos ellos. 7) Crea un nuevo libro de cálculo de nombre EjerM07.ods, que contenga un procedimiento de nombre EjerM07 que haga lo siguiente: - El programa hace una tabla de valores de la función y = sen(7x-5) - El programa nos pide los dos valores de x (valores máximo y mínimo de la tabla de valores - El programa nos pide el incremento (variación) de la x. 8) Crea un nuevo libro de cálculo de nombre EjerM08.ods que contenga un procedimiento de nombre EjerM08, que sirva para calcular un cateto de un triángulo rectángulo a partir del otro cateto y la hipotenusa, de la siguiente forma: - El programa nos pide el valor de la hipotenusa - El programa nos pide el valor de un cateto - Si el cateto es mayor que la hipotenusa, el programa nos da un mensaje de error y se acaba. - El programa nos da como resultado el valor del otro cateto y nos pregunta si queremos volver a empezar. 9) Crea un nuevo libro de cálculo de nombre EjerM09.ods, que contenga un procedimiento de nombre EjerM09 y que sirva para resolver ecuaciones de 2º grado del tipo: ax 2 + bx = 0 10) Crea un nuevo libro de cálculo de nombre EjerM10.ods, que contenga un procedimiento de nombre EjerM10 y que sirva para resolver sistemas de ecuaciones del tipo: ax + by = c dx + ey = f Prueba el funcionamiento del programa para el caso a=1, b=-2, c=-3, d=3, e=1, f=5, si todo funciona correctamente: x=1, y=2. La salida debería ser de la forma: 11) Haz un nuevo libro de cálculo de nombre EjerM11.ods, que contenga un procedimiento de nombre EjerM11 que escriba los 15 primeros múltiplos de 7, su suma y su producto. El programa ha de tener la posibilidad de volver a empezar.
31 OpenOffice Basic Fermí Vilà BA-31 12) Crea un nuevo libro de cálculo de nombre EjerM12.ods, que contenga un procedimiento de nombre EjerM12, que sirva para calcular el área de un triángulo o el área de un rectángulo o el área de un círculo. El programa ha de tener la posibilidad de volver a empezar. 13) Crea un nuevo libro de cálculo de nombre EjerM13.ods que contenga un procedimiento de nombre EjerM13 que funcione de la siguiente forma: dados dos vectores del espacio, el programa calcula su producto escalar, producto vectorial y además nos dé el módulo de los dos vectores y también el módulo del producto vectorial. Recordemos: v=(a,b,c) p=(d,e,f) Producto Escalar = ad + be + cf Producto Vectorial = (bf ec, de-af, ae-bd) Módulo de v = a + b + c La salida debería ser de la forma: 14) Crea un nuevo libro de cálculo de nombre EjerM14.ods, que contenga un procedimiento de nombre EjerM14, y que funcione de la siguiente forma: El programa nos pide un número y da como resultado la tabla de multiplicar del número introducido. 15) Crea un nuevo libro de cálculo de nombre EjerM15.ods, que contenga un procedimiento de nombre EjerM15, y que funcione de la siguiente forma: El programa calcula el número e mediante el desarrollo en serie: e = 1 + 1/1! + 1/(2!) + 1/(3!) + 1/(4!) /(50!)
32 OpenOffice Basic Fermí Vilà BA Arrays - Crea un nuevo libro de cálculo, que has de grabar con el nombre Macro08.ods en TuCarpeta. Crea un Module1 y sitúate en su interior para escribir: - Crea un botón en la Hoja1 del Macro08.ods, asociado al procedimiento anterior y ejecútalo, observando detenidamente lo que sucede. - Estudio del Prog35 : Dim a(1 To 3) As Double Definimos lo que se llama aaray o matriz o vector o arreglo de una dimensión. Y no es más que una variable que consta de tres números Double, en realidad tres variables double. Para acceder a los elementos de nuestro array hemos de utilizar la notación: a(1) = primer elemento; a(2)=segundo elemento; a(3)= tercer elemento El programa anterior es muy bonito, pero no sirve para nada, vamos a hacer un programa un poco más complicado... Observa la siguiente tabla: Lunes Martes Miercoles Jueves Viernes Inicio 8 10, Fin , Resulta que cada día de la semana hacemos una jornada laboral distinta, en el ejemplo de la tabla (que representa el horario laboral de una semana determinada), el lunes empezamos a trabajar a las 8h y terminamos a las 2h de la tarde, el martes empezamos a las 10h y media y terminamos a las 17h, etc. Vamos a hacer un programa para introducir y guardar los datos de dicha tabla. - Escribe en el Module1 del Macro08.ods el siguiente procedimiento: - Crea un botón en la Hoja2 del Macro08.ods, asociado al procedimiento anterior y ejecútalo:
33 OpenOffice Basic Fermí Vilà BA-33 En este programa hemos trabajado con un array bidimensional o matriz de dos dimensiones: a( 1 To 2, 1 To 5 ) Sus elementos: a(1,1), a(1,2), a(1,3), a(1,4), a(1,5) A(2,1), a(2,2), a(2,3), a(2,4), a(2,5) El procedimiento Prog36, hemos de reconocer que está muy bien para utilizar matrices bidimensionales y ciclos anidados, pero es completamente inútil. Vamos a modificar el procedimiento anterior para que nos calcule el número total de horas trabajadas a la semana... Escribe en el Module1 de Macro08.ods: - Crea un botón en la Hoja2 del Macro08.ods, asociado al programa Prog37 y ejecútalo Si todo funciona correctamente: - Escribe en el Macro08, el procedimiento:
34 OpenOffice Basic Fermí Vilà BA-34 - Crea un botón en la Hoja2 del Macro08.ods, asociado al procedimiento Prog38 y ejecútalo varias veces. - Observa de qué forma definimos un array dinámico: al principio del programa, no sabemos el número de elementos (Dim x() As Double); cuando ya sabemos el número de elementos: ReDim x(número) As Double Programa que calcula, dada una serie de 5 números, la media aritmética, las desviaciones respecto a la media, la desviación media, la varianza y la desviación típica. Escribe en el Module1 del Macro08.ods el siguiente programa: Sub Prog39 Dim s As String, sum As Double, med As Double Dim num(1 To 5) As Double Dim desv(1 To 5) As Double Dim sum1 As Double, sum2 As Double, i As Integer Dim desmed As Double, vari As Double, dt As Double s="":sum=0:sum1=0:sum2=0 s=s & "Valores de la serie estadística: " & Chr(10) For i=1 To 5 num(i)=cdbl(inputbox(" Número?")) s=s & cstr(num(i)) & Chr(10) sum=sum+num(i) Next med=sum/5 s=s & Chr(10): s=s & "Media Aritmética = " & cstr(med) s=s & Chr(10) & "Desviaciones" & Chr(10) For i=1 To 5 desv(i)=abs(num(i)-med) sum1=sum1+desv(i) sum2=sum2+desv(i)*desv(i) s=s & cstr(desv(i)) & " - " Next desmed=sum1/5 vari=sum2/5 dt=sqr(vari) s=s & Chr(10) s=s & "Desviación Media = " & cstr(desmed) s=s & Chr(10) s=s & "Varianza = " & cstr(vari) & Chr(10)
35 OpenOffice Basic Fermí Vilà BA-35 s=s & "Desviación Típica = " & cstr(dt) MsgBox s End Sub - Crea un botón en la Hoja2 del Macro08.ods, asociado al procedimiento anterior y ejecuta el programa para el caso: 9.- Procedimientos y Funciones Se define como procedimiento y/o función a un bloque de código que realiza alguna tarea. Hasta ahora, hemos construido los programas utilizando un único procedimiento, pero a medida que los programas (y los problemas) crecen, se va haciendo necesaria la inclusión de más procedimientos. Una función es lo mismo que un procedimiento con la salvedad, que la función devuelve un valor al procedimiento o función que lo llama. - Crea un nuevo libro de cálculo, que deberás grabar como Macro09.ods en TuCarpeta. Crea un Module1 y escribe: - Crea un botón en la Hoja1 del Macro09.ods, asociado al procedimiento Prog40 y ejecuta el programa varias veces. Observa la sintaxis de una función : declaramos los parámetros (en nuestro caso v1 y v2) y declaramos también el tipo de dato que devuelve la función, Integer en nuestro caso.
36 OpenOffice Basic Fermí Vilà BA-36 Observa de qué forma llamamos a una función: NombreFunción (lista de parámetros), en nuestro ejemplo: Suma(n1,n2) - Vamos a trabajar con más funciones... Sitúate en el Module1 del Macro09 y escribe: Y - Crea en Hoja1 de Macro09.ods dos botones de nombre: [Prog41] y [Prog42] asociados a los procedimientos 41 y 42 y ejecútalos: Vamos a por otra función... - Escribe en el Module1 del Macro09: - Crea en Hoja1 de Macro09.ods un botón de nombre [Prog43] asociado al procedimiento Prog43 y ejecútalo. - Escribe en el Module1 del Macro09.ods:
37 OpenOffice Basic Fermí Vilà BA-37 - Crea en la Hoja1 del Macro09, un botón de nombre [Prog44] asociado al procedimiento Prog44 y ejecútalo Números Aleatorios - Crea un nuevo libro de cálculo, que deberás grabar como Macro10.ods en TuCarpeta. Crea un Module1 y escribe los siguientes procedimientos:
38 OpenOffice Basic Fermí Vilà BA-38 - Crea en la Hoja1 de Macro10.ods dos botones de nombre: [Prog45] y [Prog46], asociados a los procedimientos 45 y 46 y ejecútalos. - La función RND Cada vez que el ordenador procesa una línea que contiene la sentencia Rnd, en la celda correspondiente aparece un número aleatorio, decimal entre 0 y 1. El número puede ser cero, pero nunca 1. El número de decimales es 14 (recuerda que en la hoja de cálculo, por defecto aparecen sólo 2) En realidad la serie de números Rnd es pseudoaleatoria, para conseguir que la función Rnd genere verdaderos números aleatorios, en el programa hemos de anteponer la sentencia Randomize, que es lo que consideraremos en el siguiente programa. Observa las siguientes relaciones: X=Rnd 0 X<1 X número decimal Y=6*Rnd 0 Y<6 Y número decimal Z=Int(6*Rnd) 0 Z<6 Z número entero entre 0 y 6 (puede ser 0, pero no 6) W=Int(6*Rnd)+1 0<W 6 W número entero entre 0 y 6 (no puede ser 0, pero sí 6) Es decir: W = 1, 2, 3, 4, 5 o 6 En general: Int((y-x)*Rnd+x) número entero aleatorio entre x e y (incluido x, excluido y) Int((y+1-x)*Rnd+x) número entero aleatorio entre x e y (incluidos los dos) - Escribe en el Module1 del Macro10.ods los procedimientos: Sub Prog47 Dim Hoj As Object, i As Integer Randomize Hoj=ThisComponent.Sheets(0) Hoj.getCellByPosition(7,5).SetFormula("10 tiradas aleatorias de un dado de parchís") For i=1 To 10 Hoj.getCellByPosition(7,5+i).SetValue(Int(6*Rnd)+1) Next
39 OpenOffice Basic Fermí Vilà BA-39 End Sub Sub Prog48 Dim s As String, i As Integer Dim x As Double, y As Double Randomize s="números Aleatorios " & Chr(10) s=s & "10 números aleatorios entre 0 y 1" & Chr(10) For i=1 to 10 s=s & cstr(rnd) & " - " Next s=s & Chr(10) s=s & "10 números aleatorios enteros entre 3 y 7" & Chr(10) s=s & "incluido el 3 y excluido el 7" & Chr(10) For i=1 To 10 s=s & cstr(int((7-3)*rnd+3)) & " - " Next s=s & Chr(10) s=s & "10 números aleatorios enteros entre 3 y 7" & Chr(10) s=s & "incluidos el 3 y el 7" & Chr(10) For i=1 To 10 s=s & cstr(int((7+1-3)*rnd+3)) & " - " Next s=s & Chr(10) s=s & "10 números aleatorios enteros entre los dos que tú quieras" & Chr(10) s=s & "incluidos los dos extremos" & Chr(10) x=cdbl(inputbox("escribe el menor")) y=cdbl(inputbox("escribe el mayor")) s=s & "concretamente entre " & cstr(x) & " y " & cstr(y) & Chr(10) For i=1 to 10 s=s & cstr(int((y+1-x)*rnd+x)) & " - " Next MsgBox s End Sub - Crea en la Hoja1 de Macro10.ods dos botones de nombre [Prog47] y [Prog48], asociados a los programas 47 y 48 y ejecútalos Funciones con y sin retorno de parámetros - Crea un nuevo libro de cálculo, que deberás grabar como Macro11.ods en TuCarpeta. Crea un Module1 y escribe: Function mediageo() Dim x As Integer, y As Integer x=val(inputbox("escribe un número entero")) y=val(inputbox("escribe otro número entero")) MsgBox "La media geométrica de " & cstr(x) & _ " y " & cstr(y) & " es " & cstr(sqr(x*y)) End Function Function mediageo2(a As Integer, b As Integer) As Double mediageo2=sqr(a*b) End Function Sub Prog49 ' Este programa sólo contiene una llamada ' a una función
40 OpenOffice Basic Fermí Vilà BA-40 mediageo End Sub Sub Prog50 Dim x As Integer, y As Integer x=val(inputbox("escribe un número entero")) y=val(inputbox("escribe otro número entero")) MsgBox "La Media Geométrica de " & cstr(x) & _ " y " & cstr(y) & " es " & cstr(mediageo2(x,y)) End Sub - Crea en la Hoja1 de Macro11.ods dos botones de nombre [Prog49] y [Prog50], asociados a los programas 49 y 50 y ejecútalos. El primer tipo de función (mediageo) se dice que es una función sin retorno de parámetros. El segundo tipo (mediageo2) es una función que retorna parámetros. Programa que determina si un número es primo, utilizando una función - Accede al Module1 del Macro11.ods y escribe: Function Primo (x As Integer) As String Dim resto As Integer, i As Integer, opc As Integer For i=2 To x-1 resto=x Mod i If resto=0 And x<>2 Then opc=1 Exit For End If Next If opc=1 Then Primo="N" Else Primo="S" End If End Function Sub Prog51 Dim num As Integer, Hoj As Object Hoj=ThisComponent.Sheets(0) num=val(inputbox("escribe un número entero")) If Primo(num)="S" then Hoj.getCellByPosition(1,0).SetFormula("El número " & cstr(num) & " es primo" Else Hoj.getCellByPosition(1,0).SetFormula("El número " & cstr(num) & " no es primo" End If End Sub - Crea en la Hoja1 de Macro11.ods un botón de nombre [Prog51] asociado al programa anterior y ejecútalo varias veces. - La función Primo aunque complicada, es importante porque contiene elementos nuevos: resto = x Mod i Mod es el operador que nos da el resto de la división entera (en nuestro caso entre x e i) Exit For Forzamos la salida del bucle For To Next
41 OpenOffice Basic Fermí Vilà BA-41 Programa que calcula el M.C.D. de dos números, utilizando una función Antes de todo recordemos el Algoritmo de Euclides para el cálculo del M.C.D. Por ejemplo, para calcular el mcd(38,48), hemos de seguir el siguiente proceso: 1.- necesitamos saber el número mayor 2.- divido el mayor entre el menor, 48/36 = 1 y resto divido el divisor de antes entre el resto (de antes): 36/12 = 3 y resto continuamos dividiendo divisor/resto, hasta que la división sea exacta 5.- el m.c.d es el último resto distinto de cero, en nuestro caso 12 En general, para calcular el mcd(a,b): 1.- if a<b then aux = a a = b b = aux end if A partir de este momento a es el mayor y b el menor 2.- if a mod b = 0 then resto = b end if 3.- do while a mod b <> 0 resto = a mod b a = b b = resto loop 4.- mcd = resto - Escribe en el module del Macro11.ods: Function MCD (a As Integer, b As Integer) As Integer Dim resto As Integer, aux As Integer If a<b Then aux=a a=b b=aux End If If a Mod b=0 Then resto=b End If Do While a Mod b <> 0 resto=a Mod b a=b b=resto Loop MCD=resto End Function Sub Prog52 Dim x As Integer, y As Integer Dim Hoj As Object Hoj=ThisComponent.Sheets(0) x=val(inputbox("escribe un número")) y=val(inputbox("escribe otro número")) Hoj.getCellByPosition(1,5).SetFormula("El MCD de " & cstr(x) & _
42 OpenOffice Basic Fermí Vilà BA-42 End Sub " y " & cstr(y) & " es " & cstr(mcd(x,y)) - Crea en la Hoja1 de Macro11.ods un botón de nombre [Prog52], asociado al último procedimiento y ejecútalo varias veces: MCD(5,25) = 5 MCD(7,3) = 1 MCD(720,300) = 60 Adivinanzas Vamos a hacer un programa que nos pregunte un número entero del 1 al 10, y el usuario del programa tiene 5 tentativas para adivinarlo. - Escribe en el Module1 del Macro11.ods Sub Prog53 Dim x As Integer, num As Integer Dim i As Integer, control As Integer Dim Hoj As Object Hoj=ThisComponent.Sheets(0) Randomize x=int((10+1-1)*rnd+1) Do While i<5 i=i+1 num=val(inputbox("escribe un entero del 1 al 10, intento " & cstr(i))) If num=x Then Hoj.getCellByPosition(1,6).SetFormula("Lo has acertado en " & _ cstr(i) & " tentativas") i=5 control=1 End If Loop If control=0 Then Hoj.getCellByPosition(1,7).SetFormula("Lo siento, se han acabado tus " & _ "vidas, el número era " & cstr(x)) End If End Sub - Crea un botón asociado al Prog53 y ejecútalo varias veces, para probar el programa. Programa que nos pregunta 5 sumas aleatoriamente y al final nos da la nota - Escribe en el Module1 del Macro11: Sub Prog54 Dim x As Integer, y As Integer, z As Integer Dim nota As Integer, i As Integer, Hoj As Object Randomize: Hoj=ThisComponent.Sheets(0) For i=1 To 5 x=int((9+1-1)*rnd+1) y=int((9+1-1)*rnd+1)
43 OpenOffice Basic Fermí Vilà BA-43 z=val(inputbox(cstr(x) & " + " & cstr(y) & " = ")) If z=x+y Then Hoj.getCellByPosition(1,10+i).SetFormula(cStr(x) & _ " + " & cstr(y) & " = " & cstr(z)) Hoj.getCellByPosition(2,10+i).SetFormula(" Muy Bien ") nota=nota+1 Else Hoj.getCellByPosition(1,10+i).SetFormula(cStr(x) & _ " + " & cstr(y) & " = " & cstr(z)) Hoj.getCellByPosition(2,10+i).SetFormula(" No, es falso ") Hoj.getCellByPosition(3,10+i).SetFormula(cStr(x) & _ " + " & cstr(y) & " = " & cstr(x+y)) End If Next Hoj.getCellByPosition(1,11+i).SetFormula(" Tu nota es " & cstr(2*nota)) End Sub - Crea un botón asociado al Prog54 y ejecútalo varias veces.
44 OpenOffice Basic Fermí Vilà BA-44 Ejercicios 16) Crea un libro de cálculo de nombre EjerM16.ods que contenga un procedimiento de nombre EjerM16, que sirva para calcular el mínimo común múltiplo de dos números utilizando la función MCD del procedimiento Prog52 (deberás copiarla en el EjerM16) y sabiendo que mcm(x,y) = x*y/mcd(x,y) 17) Crea un libro de cálculo de nombre EjerM17.ods, que contenga un procedimiento de nombre EjerM17, que sirva para simplificar una fracción numérica, deberás utilizar la función MCD del ejercicio anterior. Observa: a a / MCD( a, b) = b b / MCD( a, b) La salida debería ser de la forma: 18) Crea un libro de cálculo de nombre EjerM18.ods, que contenga un procedimiento de nombre EjerM18, que sirva para sumar o restar dos fracciones y después simplifique el resultado. Observa: a c a( mcm( b, d) / d ) c( mcm( b, d) / d ) + = + b d mcm( b, d) La salida debería ser: 19) Crea un libro de cálculo de nombre EjerM19.ods que contenga un procedimiento de nombre EjerM19, que sirva para calcular el módulo de un vector en el espacio, utilizando una función. 20) Crea un libro de cálculo de nombre EjerM20.ods, que contenga un procedimiento de nombre EjerM20, que sirva para calcular el área de un triángulo en el espacio, utilizando la función del ejercicio anterior. Recuerda: A=(a1,a2,a3), B=(b1,b2,b3), C=(c1,c2,c3) AB=(b1-a1,b2-a2,b3-a3), AC=(c1-a1,c2-a2,c3-a3) Área del triángulo ABC = mitad del producto vectorial de AB y AC. Compruébalo para el caso:
45 OpenOffice Basic Fermí Vilà BA-45 21) Crea un libro de cálculo de nombre EjerM21.ods, que contenga un procedimiento de nombre EjerM21, que construya el triángulo de Tartaglia o Pascal de la siguiente forma: 1º.- Crea una función que calcule el factorial de un número. m m! 2º.- Crea otra función que permita calcular un número combinatorio: = n n!( m n)! 3º.- El triangulo de Tartaglia no es más que los resultados de los números combinatorios: º.- El programa nos ha de preguntar de entrada el número de filas del triángulo. 22) Crea un libro de cálculo de nombre EjerM22.ods, que contenga un procedimiento de nombre EjerM22, tal que: - El programa nos pregunta cuántas multiplicaciones queremos hacer. - El programa nos las pregunta aleatoriamente Al final el programa nos da la nota cualitativa (utiliza una función). 23) Crea un libro de cálculo de nombre EjerM23.ods, que contenga un procedimiento de nombre EjerM23, que calcule un determinante de tercer orden. Recuerda: a b c d g e h f i = aei + dch + bfg gec hfa dbi Compruébalo para el caso: 24) Crea un libro de cálculo de nombre EjerM24.ods que contenga un procedimiento de nombre EjerM24, que sirva para discutir un sistema de tresecuaciones con tres incógnitas, sólo en los casos compatible determinado e incompatible y lo resuelve en el caso compatible determinado. De la siguiente forma: 1º) Crea una función que sirva para calcular un determinante de tercer orden (ejercicio anterior). 2º) Dado el sistema: ax+by+cz=j dx+ey+fz=k gx+hy+iz=l Calcula los determinantes: a b c j b c a j c a b j det = d e f detx = k e f dety = d k f detz = d e k g h i l h i g l i g h l 3º) Si det no es 0 entonces el sistema es compatible determinado
46 OpenOffice Basic Fermí Vilà BA-46 Si det es 0 y (detx no es cero o dety no es 0 o detz no es 0) entonces el sistema es incompatible. 4º) Si el sistema es compatible determinado, la solución por Cramer es x=detx/det, y=dety/det, z=detz/det Pruébalo para los casos: 25) Crea un libro de cálculo de nombre EjerM25.ods, que contenga un procedimiento de nombre EjerM25, que resuelva un sistema de dos ecuaciones con dos incógnitas por el método de Cramer. Crea una función que calcule un determinante de 2º orden Compruébalo para los casos: 26) Crea un libro de cálculo de nombre EjerM26.ods que contenga un procedimiento de nombre EjerM26, que calcule los 50 primeros términos de la sucesión de término general: (3n+1) / (2n-1)
47 OpenOffice Basic Fermí Vilà BA Cuadros de Diálogo a) Crea un nuevo libro de cálculo, que deberás grabar como Macro12.ods. Crea, como siempre, un Module1 asociado al Macro12. - Sitúate en el Editor de Basic. Accede al menú contextual de la pestaña Module1, es decir: Sitúa el cursor del ratón encima de la pestaña Module1 Pulsa el botón derecho del ratón: Selecciona la opción: Insertar Diálogo BASIC - Nos acabamos de situar en una nueva pantalla (Dialog1), que contiene un formulario o cuadro de diálogo vacío. Si observas el ángulo inferior izquierdo de la pantalla: podemos situarnos fácilmente en el editor de BASIC (clic en la pestaña Module1) y/o volver al formulario (clic en la pestaña Dialog1). - Desde la pantalla del Dialog1, haz clic en el icono Insertar elementos de Control : Si mantienes pulsado el botón izquierdo, aparecerán todas sus opciones:
48 OpenOffice Basic Fermí Vilà BA-48 Y puedes arrastrarlo (clic en el marco de la ventana) a cualquier punto de la pantalla: - Haz clic en el Campo de Texto del cuadro Campos de Control : - Marca un pequeño recuadro en el formulario: - Clic en el Botón del cuadro Campos de Control : Marca un pequeño recuadro debajo del campo de texto que acabamos de insertar. - Marca otro CommandButton, a la derecha del anterior: - Selecciona el formulario, para ello deberás hacer: Clic en Flecha de Selección del cuadro Campos de Control: Marca una ventana que abarque al formulario entero.
49 OpenOffice Basic Fermí Vilà BA-49 - Una vez seleccionado el formulario, hazlo más pequeño y observarás que todos los elementos del interior también se hacen más pequeños. Resitúa los elementos, hasta tener aproximadamente: - Selecciona el CommandButton1 y accede a sus propiedades: clic en el campo de control Propiedades : Observa que podemos resituar los elementos en pantalla, de manera que se encuentre visible: La ventana de propiedades. El formulario El Cuadro de Controles De esta forma si seleccionamos otro elemento del formulario (o el mismo formulario) accedemos automáticamente a sus propiedades (pruébalo). - Con el CommandButton1 seleccionado y sus Propiedades a la vista. Cambia el contenido de la propiedad Título, que era CommandButton1 por Saludo. - Selecciona el CommandButton2 y cambia su propiedad Título por Borrar Saludo - Creo que está claro lo que nos proponemos: Al hacer clic en el botón [Saludo], queremos que salga escrito (en el cuadro de texto), un saludo. Por ejemplo: Bienvenido al Basic del OpenOffice y al hacer clic en [Borrar Saludo], nos gustaria que se borrara el mensaje anterior. Veamos: En primer lugar, investiga el nombre del cuadro de texto: basta que selecciones el cuadro de texto y observes su Propiedad = Nombre. Si todo funciona correctamente verás que es TextField1. Si observas el contenido de su propiedad Texto, verás que no tiene nada; es lógico, el cuadro de texto está vacio. Sitúate en el Module1 (clic en la pestaña correspondiente) y escribe:
50 OpenOffice Basic Fermí Vilà BA-50 Vuelve al Dialog1 y selecciona el botón [Saludo]. En su ventana de propiedades, haz clic en la pestaña Acontecimientos. Sitúa el cursor de escritura en el campo Boton del ratón pulsado y haz clic en el botón [...]. [Asignar] Selecciona ClicSaludo de Macro12.ods Standard Module 1 [Aceptar] [Aceptar] Asocia al botón [Borrar Saludo] el programa ClicBorrarSaludo. Es decir: selecciona el botón [Borrar Saludo] en Dialog1. Accede a la pestaña Acontecimientos, en su ventana de propiedades. Y en el campo Boton del ratón pulsado, asigna el procedimiento ClicBorrarSaludo. Sitúate en la hoja de càlculo e inserta un botón de nombre HOLA, asociado al procedimiento AbreFormulario - Prueba el funcionamiento de lo que hemos programado : Clic en el botón [HOLA]. Si todo va bien, aparece el formulario. Clic en el botón [Saludo] Clic en el botón [Borrar Saludo] Para acabar, clic en la X del extremo superior derecho del formulario.
51 OpenOffice Basic Fermí Vilà BA-51 - Sitúate en el Editor de Basic (Module1) para estudiar nuestro programa: el procedimiento AbreFormulario: Es bastante extraño: el Basic del OpenOffice es una versión de Basic, próxima a Java. De todas formas no te preocupes: las tres líneas de nuestro programa (observa en la segunda línea que aparece el nombre del formulario: Dialog1), sirven para abrir el formulario de nombre Dialog1. Observa también que la declaración: Dim odialogo As Object se encuentra al principio del módulo, y fuera de todo programa, de esta forma evitamos el tener de declarar el formulario, en cada uno de los demás procedimientos del módulo. El procedimiento ClicSaludo, está más claro:... TextField1.Text = mensaje El campo de texto de nombre TextField1, propiedad Text (texto) ha de ser igual a mensaje. Es decir, el contenido (propiedad Text) del campo de texto (TextField1) es mensaje. El prefijo, odialogo.model deberemos escribirlo en todos los controles que aparezcan en los procedimientos del formulario. b) Vamos a hacer un formulario más complicado: crea un nuevo libro de cálculo que deberás grabar como Macro13.ods. Crea un Module1, también un Dialog1 asociado al Macro13 - Inserta en el formulario, una etiqueta: Clic en el icono Etiqueta del Cuadro de Controles: De propiedad Título : Introduce la clave secreta Sitúa el cursor de escritura en el campo Fuente (propiedad de la etiqueta que acabamos de insertar) y clic en su botón [...]. Selecciona Fuente: Arial. Estilo: Negrita Cursiva y Tamaño: 12 [Aceptar] Cambia el color de fondo (la etiqueta ha de estar seleccionada) a Amarillo Pastel - Selecciona el formulario (deberás deseleccionar la etiqueta y marcar un recuadro que abarque todo el formulario) De esta forma podemos acceder a sus propiedades: por ejemplo, coloca como Color de fondo= Gris azulado Inserta un campo de texto a la derecha del texto Introduce la clave secreta. En su propiedad Caracter de contraseña, escribe un asterisco. - Inserta dos botones: El CommandButton1 de propiedad Título : Aceptar El CommandButton2 de propiedad Título : Salir
52 OpenOffice Basic Fermí Vilà BA-52 - Vamos a programar nuestros botones: Sitúate en el Module1 y escribe: - Asocia al botón [Aceptar] el programa Aceptar : En la pantalla correspondiente al Dialog1 Selecciona el botón [Aceptar] Clic en la pestaña Acontecimientos de la ventana Propiedades En el campo Al Ejecutar o en Botón del ratón pulsado, asignale el procedimiento Aceptar de Module1 - Haz lo mismo para asociar al botón [Salir] el procedimiento Salir del Module1. - Sitúate en la hoja de cálculo e inserta un botón de nombre [CONTRASEÑA] y asignalo al procedimiento AbreForm del Module1. Por último ejecuta y prueba el programa. - Observa: La función UCase(argumento), convierte el argumento en mayúsculas. Gracias al uso de esta función, podemos introducir la contraseña en mayúsculas o minúsculas. Una de las líneas (sentencias) del programa Aceptar es el nombre de otro programa: Salir. Es decir llamamos (se ejecuta) al procedimiento Salir. c) Ya habíamos hecho un programa que calculaba el factorial de un número, vamos a repetirlo pero visualmente, es decir, utilizando un formulario y controles... Crea una nueva hoja de cálculo de nombre Macro14.ods con un Module1 y un Dialog1
53 OpenOffice Basic Fermí Vilà BA-53 - Crea el siguiente formulario: El título no es más que una etiqueta (Label1), con la propiedad Borde = en 3D y Alineación = Centrado El control que hay debajo de Escribe un... es otro cuadro de texto (TextField2), con el Color de Fondo = Verde Pastel - Escribe en el Module1 el código: Dim odialogo As Object Sub AbreForm DialogLibraries.LoadLibrary("Standard") odialogo=createunodialog(dialoglibraries.standard.dialog1) odialogo.execute() End Sub Sub Salir odialogo.endexecute() End Sub Sub Calcular Dim i As Double, fact As Double fact=1 For i=1 To CDbl(oDialogo.Model.TextField1.Text) fact=fact*i Next odialogo.model.textfield2.text="el factorial de " & _ odialogo.model.textfield1.text & " es " & _ cstr(fact) End Sub Sub Otro odialogo.model.textfield1.text="" odialogo.model.textfield2.text="" End Sub - Asocia al botón [Calcular] el procedimiento Calcular - Asocia al botón [Otro] el procedimiento Otro - Asocia al botón [Salir] el procedimiento Salir. - Crea en la Hoja1 del Macro14 un botón de nombre [FACTORIAL] y asócialo al procedimiento AbreForm Sólo nos queda probar el programa (espero que te funcione correctamente).
54 OpenOffice Basic Fermí Vilà BA-54 d) Crea una nueva hoja de cálculo de nombre Macro15.ods con un Module1 y un Dialog1 - Crea el siguiente formulario: - Creo que está claro lo que pretendemos: tenemos dos campos de texto (TextField1 y TextField2), escribimos en el primero el número de un DNI (8 dígitos) y al hacer clic en el botón [Calcula], aparece en el TextField2, el NIF correspondiente, es decir el DNI anterior más la letra correspondiente al Nif. Veamos: - La letra correspondiente al NIF de un DNI es la siguiente: se divide el DNI entre 23, sin decimales, es decir por ejemplo: /23 = y Resto =18. Según el resto de la división, que será un número de 0 a 22 le corresponde la letra del NIF, según la siguiente tabla: Resto Letra del NIF Resto Letra del NIF Resto Letra del NIF 0 T 8 P 16 Q 1 R 9 D 17 V 2 W 10 X 18 H 3 A 11 B 19 L 4 G 12 N 20 C 5 M 13 J 21 K 6 Y 14 Z 22 E 7 F 15 S En nuestro ejemplo, a un DNI igual a le corresponde un resto de la división por 23 de 18, por lo tanto la letra del NIF de nuestro ejemplo será la H. - El problema ahora es traducir los cálculos anteriores al Basic del OpenOffice... Int() es una función incorporada (igual que MsgBox() y muchas más), que nos da la parte entera del número que escribamos como argumento. Así: Int( /23) = , nos da el resultado de la división sin decimales (es lo que en matemáticas se llama división entera) Pensemos ahora en la prueba de la división: El dividendo = divisor*cociente + resto. O lo que es equivalente: El resto de la división = dividendo divisor*cociente. En nuestro ejemplo: 18 = *Int( /23) - Escribe en el Module1, la function siguiente y compara la igualdad anterior con la instrucción de nuestra función Letra: num = x 23*Int(x/23) Function Letra(x As Double) As String Dim num As Double num=x-23*int(x/23) Select Case num Case 0 Letra="T" Case 1 Letra="R" Case 2 Letra="W" Case 3 Letra="A" Case 4 Letra="G" Case 5 Letra="M"
55 OpenOffice Basic Fermí Vilà BA-55 Case 6 Letra="Y" Case 7 Letra="F" Case 8 Letra="P" Case 9 Letra="D" Case 10 Letra="X" Case 11 Letra="B" Case 12 Letra="N" Case 13 Letra="J" Case 14 Letra="Z" Case 15 Letra="S" Case 16 Letra="Q" Case 17 Letra="V" Case 18 Letra="H" Case 19 Letra="L" Case 20 Letra="C" Case 21 Letra="K" Case 22 Letra="E" End Select End Function - Escribe en el Module1, los procedimientos: Dim odialogo As Object Sub AbreForm DialogLibraries.LoadLibrary("Standard") odialogo=createunodialog(dialoglibraries.standard.dialog1) odialogo.execute() End Sub Sub Calcula Dim cadena As String cadena=odialogo.model.textfield1.text Select Case Len(cadena) Case Is<8 MsgBox "Has de escribir 8 dígitos" Case Else odialogo.model.textfield2.text=odialogo.model.textfield1.text & _ cstr(letra(cdbl(odialogo.model.textfield1.text)) End Select End Sub - Asocia al botón [Calcula] el procedimiento Calcula
56 OpenOffice Basic Fermí Vilà BA-56 - Crea en la Hoja1, un botón de nombre [NIF] y asócialo al procedimiento AbreForm Ejecuta y prueba el funcionamiento de nuestro programa. e) Crea una nueva hoja de cálculo de nombre Macro16.ods con un Module1 y un Dialog1 - Crea el siguiente formulario: Ten en cuenta las siguientes propiedades: TextField2 Sólo lectura = Sí TextField4 Sólo lectura = Sí Juego de Caracteres. Tamaño = 24 Los últimos cuadros de texto (desde el TextField5 hasta el TextField10): Alineación = Centrado Sólo Lectura = Sí Juego de Caracteres. Tamaño = 14 - Lo que pretendemos es simular un juego de lotería, que funcione de la siguiente forma: el programa sortea seis números del 1 al 49 y nosotros hemos de adivinar uno de estos números. En los últimos cuadros de texto (TextField5,..., TextField10) aparecerán los seis números del sorteo, cada vez que hagamos clic en [Sorteo]. Es simplemente para comprobar el funcionamiento del programa (al final, podemos borrarlos). - El primer problema de nuestro programa, es tener guardados los seis números del sorteo, para ello utilizaremos un array de 6 elementos )números enteros), que deberíamos declarar a nivel de módulo, para que se encuentren presentes en los diferentes procedimientos que haremos. Aprovecha también para escribir en el Module1, el programa que abre un formulario:
57 OpenOffice Basic Fermí Vilà BA-57 Observa pues, que declaramos una variable matricial (Loteria) de una dimensión, con seis valores enteros: Loteria(0), Loteria(1),..., Loteria(5) - Escribe en el Module1 el procedimiento: Vamos a ver si entendemos el programa: - Definimos cinco variables: i: es el índice de un ciclo For To Next de i=0 hasta i=5, a partir del cual guardaremos en Loteria(i) los números sorteados. j: es el índice de otro ciclo For To Next de j=0 hasta j=i, que servirá para investigar si algún valor de Lotería está repetido NumeroSorteado: representa el número aleatorio de 1 hasta 49 (NumeroSorteado = Int(Rnd*49)+1) HaSalido: controlará si el numero sorteado ya ha salido Trabajar: controlará el ciclo Do While Loop Básicamente el funcionamiento es: Si el valor de NumeroSorteado (número aleatorio entre 1 y 49) es igual a algún valor de Loteria(), entonces HaSalido=1, y NumeroSorteado vuelve a tomar otro número aleatorio entre 1 y 49. Si el valor de NumeroSorteado no ha salido, el valor de Loteria(), es igual a dicho número y salimos del Do While Loop (Trabajar = 0) - Asocia al botón [Sorteo] del Dialog1, el procedimiento anterior (Al Ejecutar = document:standard.module1.lote) - Sitúate en la Hoja1 e inserta un botón de nombre [Lotería] asociado al procedimientoabreform. - Ejecuta el programa que hemos hecho hasta ahora: Clic en [Lotería] de la Hoja1 Clic en [Sorteo] del formulario. Ejecuta el programa varias veces, para comprobar que los 6 valores de la lotería son distintos. Continuemos... - Al escribir un número del 1 al 6 en el cuadro de texto TextField3, nos interesa que aparezca en el TextField4 el número correspondiente de la Lotería...
58 OpenOffice Basic Fermí Vilà BA-58 Escribe en el Module1 el procedimiento: - Accede a las Propiedades (solapa: Acontecimientos) del TextField3, y asigna al acontecimiento: Texto Modificado el procedimiento Orden. Nos quedará: Texto Modificado = document:standard. Module1.Orden Esto quiere decir, que sólo por escribir un número (o cambiarlo) en TextField3, en el TextField4 aparecerá automáticamente el número de la Loteria(). Pruébalo. -Observa el procedimiento Orden : La variable i es el número que escribimos en el tercer cuadro de texto (i = Val(...TextField3...)) La variable Elemento es el valor correspondiente del vector Loteria(): Si i=1 entonces Elemento = Loteria(i-1)=Loteria(0) Si i=2 entonces Elemento = Loteria(i-1)=Loteria(1) Etc. Dicho valor de Elemento, se escribe en el cuadro de texto 4:...TextField4... = cstr(elemento) Para acabar el programa de la lotería: Nos interesa que al escribir un número (del 1 al 49), en el primer cuadro de texto y pulsar [Tab] para pasar a otro control (Al perder el foco), aparezca en el segundo cuadro de texto, un mensaje indicando si lo hemos adivinado o no... - Escribe en el Module1:
59 OpenOffice Basic Fermí Vilà BA-59 - Accede a las propiedades (solapa: acontecimientos) del TextField1, y asigna al acontecimiento = Al perder el foco el procedimiento document:standard.module1.adivino Sólo nos queda probar exhaustivamente nuestro programa. Recuerda que por último debes grabar nuestro libro Macro16.ods con el mismo nombre. f) Vamos a hacer un programa, deberíamos hablar de proyecto, que conste de más de un formulario... Crea una nueva hoja de cálculo de nombre Macro17.ods con su Module1 y dos formularios: Dialog1 y Dialog2 - Crea aproximadamente el siguiente formulario (Dialog1): - Y el Dialog2: - Escribe en el Module1:
60 OpenOffice Basic Fermí Vilà BA-60 Observa que declaramos y definimos los dos formularios: AbreForm1: AbreForm2: Cerrar1: Cerrar2: abre el Dialog1 abre el Dialog2 cierra el Dialog1 cierra el Dialog2 - Crea en la Hoja1 del Macro17, un botón de nombre [Áreas] y asignalo al procedimiento AbreForm1 - Escribe en el Module1: - Asigna: Dialog1 Sub Salir1Entrar2 Cerrar1 AbreForm2 End Sub Sub Salir2Entrar1 Cerrar2 AbreForm1 End Sub Sub CalcularTriangulo Dim ba As Double, al As Double, ar As Double ba=cdbl(odialogo1.model.textfield1.text) al=cdbl(odialogo1.model.textfield2.text) ar=ba*al/2 odialogo1.model.textfield3.text=cstr(ar) End Sub Sub OtroTriangulo odialogo1.model.textfield1.text="" odialogo1.model.textfield2.text="" odialogo1.model.textfield3.text="" End Sub Sub CalculaCirculo Dim ra As Double, lo As Double, ar As Double If odialogo2.model.textfield1.text<>"" Then ra=cdbl(odialogo2.model.textfield1.text) ar=3.1416*ra*ra lo=2*3.1416*ra odialogo2.model.textfield2.text=cstr(ar) odialogo2.model.textfield3.text=cstr(lo) End If End Sub Sub OtroCirculo odialogo2.model.textfield1.text="" odialogo2.model.textfield2.text="" odialogo2.model.textfield3.text="" End Sub Botón [CALCULAR] (Al Ejecutar) = procedimiento CalcularTriangulo Botón [BORRAR] (Al Ejecutar) = procedimiento OtroTriangulo Botón [CÍRCULO] (Al Ejecutar) = procedimiento Salir1Entrar2
61 OpenOffice Basic Fermí Vilà BA-61 Dialog2 Botón [OTRO] (Al Ejecutar) = procedimiento OtroCirculo Botón [VOLVER] (Al Ejecutar) = procedimiento Salir2Entrar1 TextField1 (Texto Modificado) = procedimiento CalculaCirculo Por último graba, ejecuta y prueba exhaustivamente nuestro programa. Espero que te funcione todo correctamente.
62 OpenOffice Basic Fermí Vilà BA-62 Ejercicios 27) Crea un libro de cálculo de nombre EjerM27.ods, que contenga un cuadro de diálogo que nos permita calcular las tablas de multiplicar de la siguiente forma: Parece muy complicado de hacer, pero si procedes de la siguiente forma, es muy fácil: Primero: diseña el siguiente Dialog : Segundo: Utilizando el cursor del ratón, selecciona: - Pulsa [CTRL][C] = copiaremos lo que se encuentra seleccionado - Clic en cualquier sitio para desmarcar. - Pulsa [CTRL][V] = pegaremos lo anterior -Deberás pegarlo ocho veces más.
63 OpenOffice Basic Fermí Vilà BA-63 Tercero: Cambiar la propiedad Nombre de la siguiente forma: Primera columna de controles = a0, a1, a2, a3,... a9 Segunda columna de controles = b0, b1, b2, b3,... b9 Tercera columna de controles = c0, c1, c2, c3,... c9 Es decir: odialogo.model.textfieldxx.text = a0, etc, etc. Cuarto: El código correspondiente es muy sencillo si utilizas tres arrays: a(0 To 0), b(0 To 9) y c(0 To 9) - En la primera matriz asignas 1, 2, 3, 4,...9, 10 - En la segunda matriz asignas a cada elemento el número correspondiente al cuadro de text (tabla del): TextField1 - En la tercera matriz asignas el producto del elemento correspondiente de la primera y segunda matriz
64 OpenOffice Basic Fermí Vilà BA-64 28) Crea un libro de cálculo de nombre EjerM28.ods, que contenga un cuadro de diálogo, que nos permita hacer un estudio estadístico de 10 valores, de la siguiente forma: 29) Crea un libro de cálculo de nombre EjerM29.ods, que contenga un formulario, que nos permita simplificar fracciones. Es decir, se trata de repetir el EjerM17, pero de forma visual: Si trabajas con variables Integer, no podrás tratar números como los que aparecen en la ilustración. Prueba en lugar de Integer, Long. Un Integer es un entero entre y Un Long es un entero entre y ) En un libro de cálculo de nombre EjerM30.ods, haz un programa que sirva para repasar las tablas de multiplicar, de la siguiente forma: Considera una función que nos de la nota cualitativa a partir de la cuantitativa (repasa el Prog19 del Macro06.ods) - Inserta un Dialog de contenido:
65 OpenOffice Basic Fermí Vilà BA-65 - Utiliza para los controles, los siguientes Nombres : - El problema que nos planteamos, creo que está claro: Al ejecutar el Dialog, escribimos en txtnum el número de multiplicaciones que queremos hacer. En los cuadros txtuno y txtdos aparecen dos números aleatorios entre 1 y 9. En el cuadro txtresul escribimos el resultado de la multiplicación que aparece en txtuno y txtdos. Si la respuesta es correcta, aparece en el cuadro txtcorrec, la frase Muy Bien Si la respuesta es incorrecta, aparece en el cuadro txtcorrec la contestación correcta. Los cuadros txtbien y txtmal, cuentan el número de respuestas correctas e incorrectas respectivamente. El botón OTRA sirve para una nueva multiplicación Al acabarse todas las multiplicaciones: en el cuadro txtnota aparece la nota cualitativa (Excelente, Notable, Bien, etc.)
66 OpenOffice Basic Fermí Vilà BA Cuadros de Diálogo y Hoja de Cálculo Crea un nuevo libro de cálculo de nombre Macro18.ods, que simule en la Hoja1 una base de datos de clientes de la siguiente forma: - Crea un Module1 y un Dialog1 asociado. - Inserta en el Dialog1 los siguientes controles: El control que aparece seleccionado es un cuadro combinado (ComboBox1), que podrás hacer a partir del control: - Lo que pretendemos conseguir es lo siguiente: Al hacer clic en [Visualizar Clientes]: en el cuadro combinado, se cargan los nombres de los clientes que tenemos en el rango B3:B7 Al hacer clic en [Datos]: en los cuadros de texto del formulario, aparecen los datos (código, nombre, dirección,...) del cliente que seleccionemos previamente en el Cuadro Combinado - Sitúate en el Module1 y escribe (lo de siempre): - Veamos el programa que nos permite cargar los valores del rango B3:B7 en el cuadro combinado; escribe en el Module1:
67 OpenOffice Basic Fermí Vilà BA-67 - Vamos a ver si entendemos el programa Cargar : ocombo = odialogo.getcontrol( ComboBox1 ) A diferencia de lo que sucedía con el control Cuadro de Texto (TextField), hemos de declarar el cuadro combinado, para poder después, acceder a él. De la forma: NombreDelCuadroCombinado = NombreDelFormulario.getControl( ComboBox1 ) ocombo.additem(cel.getformula, i-1) Añade en el cuadro combinado, los elementos (Cel.getFormula), en el mismo orden (i-1 = 0, 1, 2, 3, 4). - Veamos el programa que nos permite acceder a los datos del elemento seleccionado en el cuadro combinado; escribe en el Module1: - Observa de qué forma tan sencilla accedemos al valor seleccionado en el cuadro combinado = ocombotext - Asocia al programa Acceder al botón (Al ejecutar) [Datos] - Asocia el programa Cargar al botón [Visualizar Clientes] - Crea un botón de nombre [Clientes], en la Hoja1 del libro Macro18.ods y asócialo al programa AbreFormulario - Prueba lo que hemos hecho hasta ahora: Desde la Hoja1: haz clic en [Clientes] Clic en [Visualizar Clientes] Selecciona el cliente que quieras en el cuadro combinado. Clic en [Datos] Espero que te funcione todo correctamente. - Vamos a mejorar un poco nuestro programa, en efecto: Sitúate en el Dialog1, selecciona el ComboBox1, accede a sus propiedades (pestaña Acontecimientos) y a la acción Texto Modificado asigna el programa Acceder Selecciona el botón [Datos] y bórralo. Vuelve a ejecutar el programa.
68 OpenOffice Basic Fermí Vilà BA Facturación Como último ejercicio, te propongo hacer un sencillo programa de facturación... Crea un nuevo libro de cálculo de nombre Macro19.ods, con el siguiente contenido (en la Hoja1): En la Hoja2 (cópialo del libro Macro18): En la Hoja3: - Inserta dos nuevas hojas, a nuestro libro de la siguiente forma: Sitúate en la Hoja3 Menú Insertar Hoja de cálculo... Posición: Detrás de la hoja actual Núm. De hojas: 2 [Aceptar] - Sitúate en la Hoja4 y crea: Creo que está claro lo que simula la Hoja4 de nuestro programa de facturación: la base de datos de las facturas realizadas.
69 OpenOffice Basic Fermí Vilà BA-69 Observa que nuestras facturas tienen una serie de limitaciones (limitaciones que tu puedes cambiar, cuando adaptes lo estudiado, en la realización del programa de facturación de tu empresa): Facturamos un máximo de tres conceptos: Num1 = número de unidades del artículo 1 C.Art.1 = código del artículo 1 Etc. Sólo disponemos de un iva por factura (no por artículo). Sólo disponemos de un descuento por factura. No contemplamos el vencimiento, para simplificar el problema. - Sitúate en la Hoja5 y crea el impreso de factura: - Cambia el nombre de cada hoja (basta que sitúes el cursor en la pestaña correspondiente y accedas a su menú contextual): - Crea un Module1 y sitúate en la Hoja1 = MENÚ Vamos a hacer un programa que nos permita situarnos en la base de datos de Clientes (Hoja2 = CLIENTES), para ello utilizaremos la llamada Grabadora de Macros... Desde la Hoja1: MENÚ, haz lo siguiente: Menú Herramientas Macros Grabar macro. Observa que acaba de aparecer una nueva barra de herramientas, con un botón de nombre: [Finalizar grabación]. Atención, todo lo que hagamos ahora, hasta que hagamos clic en [Finalizar grabación], se guardará en un programa. Haz clic en la pestaña correspondiente a CLIENTES Clic en la celda A1 de Clientes Clic en [Finalizar grabación] Selecciona el Module1 de Standard de Macro19.ods (si no lo está ya). En el campo Nombre de la macro, escribe: AClientes y clic en [Guardar] - Sitúate en la hoja MENÚ: Selecciona el botón [BASE DE DATOS DE CLIENTES], para ello deberás entrar en modo Diseño: clic en de la barra de iconos Campos de control de formulario
70 OpenOffice Basic Fermí Vilà BA-70 Menú Contextual Campo de Control Solapa: Acontecimientos Al Ejecutar: Document: Standard.Module1.Aclientes Es decir, acabamos de asociar el programa AClientes, que hemos hecho a partir de la grabadora de macros al botón [BASE DE DATOS DE CLIENTES] - Pruébalo, es decir: clic en [Base de datos de clientes] De hecho, el programa AClientes es bastante tonto, ya que es equivalente a dos pulsaciones de ratón: Clic en la pestaña [CLIENTES] Clic en A1 de la nueva hoja Precisamente esto, pulsaciones de ratón y teclas, es lo que nos permite programar automáticamente la Grabadora de Macros Si accedes al Module1 e investigas el contenido de AClientes, no te asustes, verás como está codificado nuestro programa AClientes. No te preocupes demasiado de su contenido, lo importante es que funciona y es muy fácil de hacer. - Sitúate en la Hoja: CLIENTES y crea una macro que permita volver al Menú... Desde la Hoja: CLIENTES: Menú Herramientas Macros Grabar macro Clic en la pestaña: MENÚ Clic en la celda A1 Clic en [Finalizar grabación] Selecciona Module1/Standard/Macro19.ods y en nombre de la macro escribe: AMenu [Guardar] - Asocia la macro AMenu al botón [VOLVER], que tienes en la Hoja: CLIENTES y pruébalo. - Asocia la macro AMenu al botón [VOLVER] que tienes en la Hoja: ARTÍCULOS y también el la Hoja: HISTÓRICO y también en la Hoja: FACTURA y pruébalo. - Procede de la misma forma para: Desde MENÚ crea una macro de nombre AArticulos, que nos sitúe en ARTÍCULOS. Asóciala al botón [BASE DE DATOS DE ARTÍCULOS]. Desde MENÚ crea una macro de nombre AHistorico", que nos sitúe en HISTÓRICO. Asóciala al botón [BASE DE DATOS DE FACTURAS] Desde MENÚ crea una macro de nombre AFactura", que nos sitúe en FACTURA. Asóciala al botón [FACTURAR] - Crea otro módulo (Module2), sin más que: desde el editor de Basic, accede al menú contextual de la pestaña Module1 y Insertar Módulo Basic. Inserta también un formulario (Dialog1). - Escribe en el Module2:
71 OpenOffice Basic Fermí Vilà BA-71 Inserta en el Dialog1: - Se trata de hacer un programa que calcule el número de factura y también que cargue los cuatro cuadros combinados del Dialog1, para ello necesitamos saber el número de clientes y artículos. Veamos, sitúate en Module2 y escribe: Sub Calcula Dim HojCli As Object, HojArt As Object, HojHis As Object Dim Celda As String, CelCli As Object, CelArt As Object Dim CelHi As Object, num As Integer, numcli As Integer Dim numart As Integer HojCli=ThisComponent.Sheets(1) HojArt=ThisComponent.Sheets(2) HojHis=ThisComponent.Sheets(3) CelHi=HojHis.getCellbyPosition(0,1) Celda=CelHi.getFormula Do While Celda<>"" num=num+1 Celda=HojHis.getCellbyPosition(0,1+num).getFormula Loop odialogo.model.textfield1.text=cstr(num) ocombo1=odialogo.getcontrol("combobox1") ocombo2=odialogo.getcontrol("combobox2") ocombo3=odialogo.getcontrol("combobox3") ocombo4=odialogo.getcontrol("combobox4") CelCli=HojCli.getCellbyPosition(0,1) Celda=CelCli.getFormula Do While Celda<>"" numcli=numcli+1 Celda=HojCli.getCellbyPosition(1,1+numCli).getFormula ocombo1.additem(celda,numcli-1) Loop ocombo1.removeitems(numcli-1,numcli-1) CelArt=HojArt.getCellbyPosition(0,1) Celda=CelArt.getFormula Do While Celda<>"" numart=numart+1 Celda=HojArt.getCellbyPosition(1,1+numArt).getFormula ocombo2.additem(celda,numart-1) ocombo3.additem(celda,numart-1) ocombo4.additem(celda,numart-1) Loop ocombo2.removeitems(numart-1,numart-1)
72 OpenOffice Basic Fermí Vilà BA-72 ocombo1.removeitems(numart-1,numart-1) ocombo1.removeitems(numart-1,numart-1) End Sub - Prueba el funcionamiento del programa anterior, para ello... En la Hoja: FACTURA, crea un nuevo botón de nombre [Facturar] y asócialo a AbreFormulario del Module2. Asigna al botón [Calcula Nº] del Dialog1, el procedimiento anterior (Calcula) Ejecuta nuestro programa: [FACTURAR] en Hoja1: MENÚ [Facturar] en Hoja5: FACTURA [Calcula Nº] - Vamos a hacer el procedimiento que nos permita colocar los datos del formulario, en la Hoja de Cálculo: FACTURA. Escribe en el Module2: Sub Cancelar odialogo.endexecute() End Sub Sub Aceptar HojCli=ThisComponent.Sheets(1) Hoj=ThisComponent.Sheets(4) ocombo1=odialogo.getcontrol("combobox1") ocombo2=odialogo.getcontrol("combobox2") ocombo3=odialogo.getcontrol("combobox3") ocombo4=odialogo.getcontrol("combobox4") Hoj.getCellByPosition(2,5).SetFormula(oDialogo.Model.TextField1.Text) Hoj.getCellByPosition(2,6).SetFormula(oDialogo.Model.TextField2.Text) Hoj.getCellByPosition(3,1).SetFormula(oCombo1.Text) nom=ocombo1.text x=hojcli.getcellbyposition(1,1).getformula Do While x<>"" num=num+1 x=hojcli.getcellbyposition(1,1+num).getformula If x=nom then Hoj.getCellByPosition(3,2).SetFormula(HojCli.getCellByPosition(2,1+num).getFormula) Hoj.getCellByPosition(3,3).SetFormula(HojCli.getCellByPosition(4,1+num).getFormula) Hoj.getCellByPosition(3,4).SetFormula(HojCli.getCellByPosition(5,1+num).getFormula) End If Loop Hoj.getCellByPosition(0,11).SetValue(Val(oDialogo.Model.TextField3.Text)) Hoj.getCellByPosition(0,12).SetValue(Val(oDialogo.Model.TextField4.Text)) Hoj.getCellByPosition(0,13).SetValue(Val(oDialogo.Model.TextField5.Text)) HojArt=ThisComponent.Sheets(2) nom=ocombo2.text: num=0 x=hojart.getcellbyposition(1,1).getformula Do While x<>"" num=num+1 x=hojart.getcellbyposition(1,1+num).getformula If x=nom Then Hoj.getCellByPosition(1,11).SetFormula(oCombo2.Text) Hoj.getCellByPosition(2,11).SetValue(HojArt.getCellByPosition(2,1+num).getValue) End If
73 OpenOffice Basic Fermí Vilà BA-73 Loop nom=ocombo3.text: num=0 x=hojart.getcellbyposition(1,1).getformula Do While x<>"" num=num+1 x=hojart.getcellbyposition(1,1+num).getformula If x=nom Then Hoj.getCellByPosition(1,12).SetFormula(oCombo3.Text) Hoj.getCellByPosition(2,12).SetValue(HojArt.getCellByPosition(2,1+num).getValue) End If Loop nom=ocombo4.text: num=0 x=hojart.getcellbyposition(1,1).getformula Do While x<>"" num=num+1 x=hojart.getcellbyposition(1,1+num).getformula If x=nom Then Hoj.getCellByPosition(1,13).SetFormula(oCombo4.Text) Hoj.getCellByPosition(2,13).SetValue(HojArt.getCellByPosition(2,1+num).getValue) End If Loop Hoj.getCellByPosition(1,16).SetValue(Val(oDialogo.Model.TextField6.Text)) Hoj.getCellByPosition(1,15).SetValue(Val(oDialogo.Model.TextField7.Text)) End Sub - Asocia el procedimiento Cancelar, al botón [Cancelar] del Dialog1 y el procedimiento Aceptar al botón [Aceptar] - Prueba el funcionamiento del programa de la siguiente forma: Considera la factura: Clic en [Calcula Nº], tendremos Factura nº 3 Fecha: 3/7/2009 (debes escribir un apóstrofe antes de introducir la fecha, para no tener problema con el formato de fecha en la hoja de cálculo. De esta forma estamos considerando la fecha como un texto) Cliente: Eufrasia Martínez Unidades Artículos 2 Naranjas de la China 3 Pepinillos Variados 4 Té de Ceylan % IVA: 3 % descuento: 5 Clic en [Aceptar] Cierra el formulario Espero que te haya funcionado todo correctamente, ya que en caso contrario no tienes otro remedio que repasarlo, sin prisa, poco a poco. - Supongo que está claro el problema que tenemos pendiente en la Hoja: FACTURA, vamos a introducir las fórmulas correspondientes: Celda D12: =A12*C12 Copia la fórmula anterior en D13 y D14 Celda D15: =SUMA(D12:D14) Celda D16: =B16*D15/100 Celda D17: =B17*(D15-D16)/100 Celda D18: =D15-D16+D17 - El siguiente paso está claro cual es...
74 OpenOffice Basic Fermí Vilà BA-74 Grabar la factura, es decir, colocar los datos que tenemos en la Hoja: FACTURA en la Hoja: HISTÓRICO. Escribe en el Module2: Sub GrabarFactura HojCli=ThisComponent.Sheets(1) HojArt=ThisComponent.Sheets(2) HojHis=ThisComponent.Sheets(3) HojFac=ThisComponent.Sheets(4) CelHi=HojHis.getCellByPosition(0,1) Celda=CelHi.getFormula:num=0 Do While Celda<>"" num=num+1 Celda=HojHis.getCellByPosition(1,1+num).getFormula Loop x= HojFac.getCellByPosition(2,5).getValue HojHis.getCellByPosition(0,1+num).SetValue(x) x=hojfac.getcellbyposition(2,6).getformula HojHis.getCellByPosition(1,1+num).SetFormula(x) y=hojfac.getcellbyposition(3,1).getformula x=hojcli.getcellbyposition(1,1).getformula num1=0 Do While x<>"" num1=num1+1 x=hojcli.getcellbyposition(1,1+num1).getformula If x=y then Cod=HojCli.getCellByPosition(0,1+num1).getFormula HojHis.getCellbyPosition(2,1+num).SetFormula(Cod) End If Loop x=hojfac.getcellbyposition(0,11).getvalue HojHis.getCellByPosition(3,1+num).SetValue(x) x=hojfac.getcellbyposition(0,12).getvalue HojHis.getCellByPosition(5,1+num).SetValue(x) x=hojfac.getcellbyposition(0,13).getvalue HojHis.getCellByPosition(7,1+num).SetValue(x) y=hojfac.getcellbyposition(1,11).getformula x=hojart.getcellbyposition(1,1).getformula num2=0 Do While x<>"" num2=num2+1 x=hojart.getcellbyposition(1,1+num2).getformula If x=y then Cod=HojArt.getCellByPosition(0,1+num2).getFormula HojHis.getCellbyPosition(4,1+num).SetFormula(Cod) End If Loop y=hojfac.getcellbyposition(1,12).getformula x=hojart.getcellbyposition(1,1).getformula num3=0 Do While x<>"" num3=num3+1 x=hojart.getcellbyposition(1,1+num3).getformula If x=y then Cod=HojArt.getCellByPosition(0,1+num3).getFormula HojHis.getCellbyPosition(6,1+num).SetFormula(Cod) End If Loop y=hojfac.getcellbyposition(1,13).getformula x=hojart.getcellbyposition(1,1).getformula num4=0
75 OpenOffice Basic Fermí Vilà BA-75 Do While x<>"" num4=num4+1 x=hojart.getcellbyposition(1,1+num4).getformula If x=y then Cod=HojArt.getCellByPosition(0,1+num4).getFormula HojHis.getCellbyPosition(8,1+num).SetFormula(Cod) End If Loop x=hojfac.getcellbyposition(1,15).getvalue HojHis.getCellByPosition(10,1+num).SetValue(x) x=hojfac.getcellbyposition(1,16).getvalue HojHis.getCellByPosition(9,1+num).SetValue(x) End Sub - Asocia el programa GrabarFactura al botón [GRABAR] de la Hoja: FACTURA y pruébalo. - Vamos a hacer un procedimiento que sirva para dejar en blanco, la factura.. Escribe el Module2: Sub BorrarFactura Hoj=ThisComponent.Sheets(4) Hoj.getCellByPosition(3,1).SetFormula("") Hoj.getCellByPosition(3,2).SetFormula("") Hoj.getCellByPosition(3,3).SetFormula("") Hoj.getCellByPosition(3,4).SetFormula("") Hoj.getCellByPosition(2,5).SetFormula("") Hoj.getCellByPosition(2,6).SetFormula("") Hoj.getCellByPosition(0,11).SetFormula("") Hoj.getCellByPosition(0,12).SetFormula("") Hoj.getCellByPosition(0,13).SetFormula("") Hoj.getCellByPosition(1,11).SetFormula("") Hoj.getCellByPosition(1,12).SetFormula("") Hoj.getCellByPosition(1,13).SetFormula("") Hoj.getCellByPosition(1,15).SetFormula("") Hoj.getCellByPosition(1,16).SetFormula("") Hoj.getCellByPosition(2,11).SetFormula("") Hoj.getCellByPosition(2,12).SetFormula("") Hoj.getCellByPosition(2,13).SetFormula("") End Sub - Corrige el procedimiento AbreFormulario, de forma que su primera línea sea BorrarFactura: - Abre el formulario, para probar el BorrarFactura. Es decir: sitúate en la Hoja: FACTURA y clic en [Facturar] - Crea una macro de nombre Imprimir en un módulo nuevo: Module3, que debes asociar al botón [Imprimir] de la Hoja: Factura, que sirva para imprimir la factura, es decir: la macro ha de contener: Menú Archivo Imprimir Selecciona Páginas y escribe la última página. [Aceptar] - Si observas la factura impresa, supongo que estarás de acuerdo conmigo, en que no queda demasiado bien los botones en la factura impresa.
76 OpenOffice Basic Fermí Vilà BA-76 Para evitar el problema: Edita cada botón Accede a sus propiedades y en la propiedad Imprimir, selecciona la opción No - Nuestro simple programa de facturación ya está terminado, solo nos falta probarlo exhaustivamente.
Para crear una lista como la anterior, primero escribe la información, y después selecciona el texto y aplícale el formato de viñetas.
Módulo 3 Herramientas de Cómputo Listas, tabulaciones, columnas y cuadros de texto Listas En muchas ocasiones es necesario que enumeres diferentes elementos en tus documentos. Word no sólo reconoce números
LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL
OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos
Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L.
Manual de Usuario Programa diseñado y creado por Contenido 1. Acceso al programa... 3 2. Opciones del programa... 3 3. Inicio... 4 4. Empresa... 4 4.2. Impuestos... 5 4.3. Series de facturación... 5 4.4.
Tutorial Básico de vbscript
Tutorial Básico de vbscript Bueno, primero aclarar que este tutorial, pretende explicar de manera básica las distintas instrucciones aplicadas en visual basic script (vbs de aquí en más), para que así
Introducción a la Estadística con Excel
Introducción a la Estadística con Excel En el siguiente guión vamos a introducir el software Excel 2007 y la manera de trabajar con Estadística Descriptiva. Cargar o importar datos En Excel 2007 podemos
CASO PRÁCTICO DISTRIBUCIÓN DE COSTES
CASO PRÁCTICO DISTRIBUCIÓN DE COSTES Nuestra empresa tiene centros de distribución en tres ciudades europeas: Zaragoza, Milán y Burdeos. Hemos solicitado a los responsables de cada uno de los centros que
Programación: QBASIC
1. QBASIC Programación: QBASIC Guía del alumno Qbasic es una versión moderna del lenguaje BASIC. Se trata de un lenguaje de alto nivel. En un lenguaje de alto nivel las instrucciones tienen un formato
Creando una webquests
Creando una webquests 1. LO PRIMERO EL PROGRAMA Para crear paginas web necesitamos el software apropiado. Hay muchas formas y programas para hacerlo, pero por su facilidad de uso y por ser software libre
Ejercicio 1. Desarrollar un pequeño juego para practicar mecanografía.
Examen Curso 2001-2002. Convocatoria de Febrero Página 1 Ejercicio 1. Desarrollar un pequeño juego para practicar mecanografía. Este ejercicio se divide en dos partes con el fin de que el alumno no intente
Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:
Apuntes de ACCESS Campos de Búsqueda: Los campos de búsqueda permiten seleccionar el valor de un campo de una lista desplegable en lugar de tener que escribirlos. El usuario sólo tiene que elegir un valor
Ejemplos de conversión de reales a enteros
Ejemplos de conversión de reales a enteros Con el siguiente programa se pueden apreciar las diferencias entre las cuatro funciones para convertir de reales a enteros: program convertir_real_a_entero print
Modulo 1 El lenguaje Java
Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto
Visual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario
Empleo de módulos y Procedimientos Procedimientos definidos por el usuario Según lo que hemos visto hasta ahora, Visual Basic, almacena el código en módulos. Hay tres clases de módulos: formularios (.frm),
Centro de Profesorado Luisa Revuelta (Córdoba) TEMA 6 TABLAS Y GRÁFICOS EN IMPRESS
Centro de Profesorado Luisa Revuelta (Córdoba) TEMA 6 TABLAS Y GRÁFICOS EN IMPRESS Antes que nada tenemos que hablar de la distinción entre tabla y hoja de cálculo. Una tabla es una estructura formada
Operaciones básicas, fórmulas, referencias absolutas, relativas y mixtas.
Módulo 3 Herramientas de Cómputo Operaciones básicas, fórmulas, referencias absolutas, relativas y mixtas. Operaciones Básicas Las operaciones básicas que se realizan en una hoja de cálculo son: Seleccionar
COMANDOS EN LENGUAJE DE PROGRAMACIÓN BASIC
COMANDOS EN LENGUAJE DE PROGRAMACIÓN BASIC COMANDO FUNCIÓN EJEMPLO BORRA LA PANTALLA Borra la pantalla ESCRIBE TEXTO O GRÁFICOS EN PRINT HOLA Escribe HOLA en pantalla LA PANTALLA. PRINT PRINT a Escribe
Curso de Excel Avanzado
Curso de Excel Avanzado J. David Moreno TRABAJANDO CON RANGOS J. David Moreno 1 3 Para programar correctamente en VBA y trabajar con Excel es obligatorio aprender a trabajar con rangos (seleccionar, copiar,
Tecnologías de la Información. Apuntes de programación en Visual Basic 6.0
Tecnologías de la Información. Apuntes de programación en Visual Basic 6.0 Introducción. Qué es un lenguaje de programación? Es la forma que tienen los usuarios (personas) de dar órdenes a una máquina
MICROSOFT EXCEL 2007. Introducción: Qué es y para qué sirve Excel2007? TECNOLOGIA/ INFORMATICA: MS-EXCEL
MICROSOFT EXCEL 2007 Qué es y para qué sirve Excel2007? Excel 2007 es una hoja de cálculo integrada en Microsoft Office. Esto quiere decir que si ya conoces otro programa de Office, como Word, Access,
MINI MANUAL PARA CREAR FORMULARIOS CON PHP Marzo 2007
MINI MANUAL PARA CREAR FORMULARIOS CON PHP Marzo 2007 Servicio de Informática y Comunicaciones Para poder diseñar un formulario y que éste nos envíe los resultados a nuestro correo electrónico, necesitamos
La ventana de Microsoft Excel
Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft
Sentencias o instrucciones en Visual BASIC
Tecnología a de la Informació Sentencias o instrucciones en Visual BASIC REM Tecnología a de la Informació REM es una sentencia no ejecutable y permite introducir comentarios en los programas. A esta práctica
VB Access 2000 Fermí Vilà 1. Visual Basic para Aplicaciones del Access 2007
VB Access 2000 Fermí Vilà 1 Visual Basic para Aplicaciones del Access 2007 VB Access 2000 Fermí Vilà 2 TuCarpeta significa una carpeta de tu ordenador donde es conveniente que grabes todos los ejercicios
Para crear formularios se utiliza la barra de herramientas Formulario, que se activa a través del comando Ver barra de herramientas.
Formularios TEMA: FORMULARIOS. 1. INTRODUCCIÓN. 2. CREACIÓN DE FORMULARIOS. 3. INTRODUCIR DATOS EN UN FORMULARIO. 4. MODIFICAR UN FORMULARIO 5. MANERAS DE GUARDAR UN FORMULARIO. 6. IMPRIMIR FORMULARIOS.
Enviar Felicitación Navideña por Email con Off. 2007
Enviar Felicitación Navideña por Email con Off. 2007 Hola Amigos, hoy vamos a ver un ejercicio de Excel que nos permitirá hacer un Envío de correo electrónico, para enviar nuestra felicitación de Navidad
Uso de Visual C++ Pre-Practica No. 3
Pre-Practica No. 3 Uso de Visual C++ Microsoft Visual C++ 2010 es una versión de Visual Studio específica para el lenguaje de programación C++. Es un entorno de desarrollo muy completo y profesional. Por
Resolver triángulos en Visual Basic. Parte 3/3
Artículo Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/). Vol. 3, N o 1. Agosto Diciembre 2002. Resolver triángulos en Visual Basic. Parte 3/3 Introducción Luis Acuña
La pestaña Inicio contiene las operaciones más comunes sobre copiar, cortar y pegar, además de las operaciones de Fuente, Párrafo, Estilo y Edición.
Microsoft Word Microsoft Word es actualmente (2009) el procesador de textos líder en el mundo gracias a sus 500 millones de usuarios y sus 25 años de edad. Pero hoy en día, otras soluciones basadas en
Capítulo 9. Archivos de sintaxis
Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta
Combinar correspondencia (I)
Combinar correspondencia (I) Mediante la opción Combinar correspondencia Word2007 nos permite incluir en un documento, datos almacenados en otro sitio. De esta forma podremos obtener copias de un mismo
Divisibilidad y números primos
Divisibilidad y números primos Divisibilidad En muchos problemas es necesario saber si el reparto de varios elementos en diferentes grupos se puede hacer equitativamente, es decir, si el número de elementos
UNIDAD 1. LOS NÚMEROS ENTEROS.
UNIDAD 1. LOS NÚMEROS ENTEROS. Al final deberás haber aprendido... Interpretar y expresar números enteros. Representar números enteros en la recta numérica. Comparar y ordenar números enteros. Realizar
Concesionario de coches
Realizaremos una práctica que consistirá en informatizar un concesionario de coches. Gestionaremos y mecanizaremos la entrada de datos. Crear el diseño de las tablas Antes de empezar con el diseño de nuestra
Para ponerlo en funcionamiento deberemos realizar los siguientes pasos:
Curso de Macros en Excel Nivel intermedio Como escribir una macro utilizando el Editor de Visual Basic. Como ejecutar una macro. Macros con libros. Movernos por un libro. Elementos repetidos Comparación
CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS
CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS Nuestra empresa es una pequeña editorial que maneja habitualmente su lista de ventas en una hoja de cálculo y desea poder realizar un análisis de sus
Comencemos a programar con. Entrega 10. Estructuras de Control II
Comencemos a programar con VBA - Access Entrega 10 Estructuras de Control II Eduardo Olaz 10-2 Estructuras de Control, segunda parte Las Instrucciones While - - - Wend La estructura de bucle For Contador
2_trabajar con calc I
Al igual que en las Tablas vistas en el procesador de texto, la interseccción de una columna y una fila se denomina Celda. Dentro de una celda, podemos encontrar diferentes tipos de datos: textos, números,
Laboratorio 6. Creación de sitios Web - Dreamweaver
UNIVERSIDAD CARLOS III DE MADRID. ESCUELA DE TURISMO. Informática aplicada al sector turístico Laboratorio 6. Creación de sitios Web - Dreamweaver El objetivo de este laboratorio es aprender a crear sitios
Operaciones con vectores
Fundamentos de Informática 2012-2013 Laboratorio 12: Vectores (2) Objetivos: Practicar con algoritmos típicos con vectores (arrays de una dimensión) Operaciones con vectores Interfaz Figura 12.1. Interfaz
Año: 2008 Página 1 de 18
Lección 2. Cuestiones de tipo técnico que debemos o podemos realizar 2.1. Copia de seguridad 2.2. Introducción de contraseña 2.3. Parámetros generales 2.4. Avisos 2.5. Calculadora 2.6. Acceso a casos prácticos
Este programa mueve cada motor de forma independiente, y cuando termina una línea pasa a la siguiente.
1 Programa 1 Utilizando el icono añadimos un movimiento a por cada línea de programa. Podremos usar 8 posibles líneas de programa (Base, Hombro, Codo, Muñeca, Pinza, Salida 1, Salida 2 y línea en blanco).
Presentaciones. Con el estudio de esta Unidad pretendemos alcanzar los siguientes objetivos:
UNIDAD 8 Presentaciones Reunión. (ITE. Banco de imágenes) as presentaciones son documentos formados por una sucesión de páginas, llamadas diapositivas, que transmiten información estructurada de manera
Proyecto de Facturación con Filemaker Pro 12
Proyecto de Facturación con Filemaker Pro 12 Autor: Pere Manel Verdugo Zamora Web: http://www.peremanelv.com/pere3/sitio_web_2/bienvenida.html E- Mail: [email protected] Autor: Pere Manel Verdugo Zamora
ESCUELA SUPERIOR DE INFORMATICA Prácticas de Estadística UNA SESIÓN EN SPSS
UNA SESIÓN EN SPSS INTRODUCCIÓN. SPSS (Statistical Product and Service Solutions) es un paquete estadístico orientado, en principio, al ámbito de aplicación de las Ciencias sociales, es uno de las herramientas
Centro de Capacitación en Informática
Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.
... Formas alternativas de escribir un texto. Columnas. anfora CAPÍTULO 4
CAPÍTULO 4. Formas alternativas de escribir un texto........ Columnas Para fijar columnas se posiciona el Punto de Inserción donde se desee que comiencen las columnas, o bien se selecciona el texto que
EJERCICIOS EXCEL. Guardar el libro en tu pen drive, con el nombre PRACTICA1_ALUMNO_GRUPO.
EJERCICIOS EXCEL EJERCICIO DEL PRECIO CON IVA Crear un libro para saber cuál es el precio de un artículo aplicándole el 16% de IVA. El precio sin IVA es un valor que se tendrá que introducir, así como
Fórmulas y funciones
05... Fórmulas y funciones En este tema vamos a profundizar en el manejo de funciones ya definidas por Excel, con el objetivo de agilizar la creación de hojas de cálculo, estudiando la sintaxis de éstas
10. GENERADOR DE INFORMES.
10. GENERADOR DE INFORMES. El generador de informes es un módulo de la aplicación que nos permite elaborar listados de artículos y de clientes pero de forma personalizada, pues se definen los criterios
Tipos de variables en Visual Basic (integer, single, double, string, object, etc.). Ejemplos. (CU00308A)
aprenderaprogramar.com Tipos de variables en Visual Basic (integer, single, double, string, object, etc.). Ejemplos. (CU00308A) Sección: Cursos Categoría: Curso Visual Basic Nivel I Fecha revisión: 2029
Curso de Visual Basic 6.0 - Lección 1 Area Interactiva - www.areaint.com
LECCIÓN 6 En esta lección vamos a familiarizarnos con las estructuras de repetición, las cuales nos sirven para realizar una misma instrucción un número determinado de veces o indeterminado dependiendo
Tutorial de Introducción a la Informática Tema 0 Windows. Windows. 1. Objetivos
1. Objetivos Este tema de introducción es el primero que debe seguir un alumno para asegurar que conoce los principios básicos de informática, como el manejo elemental del ratón y el teclado para gestionar
Base de datos OpenOffice 2.0. 1ª parte. por Pedro Peregrín González 18002693 CEIP San Juan de Dios Granada -España-
Base de datos OpenOffice 2.0 1ª parte por Pedro Peregrín González 18002693 CEIP San Juan de Dios Granada -España- Tradicionalmente los datos han sido recopilados en listados, siendo tratados como texto
Estadística con Excel Informática 4º ESO ESTADÍSTICA CON EXCEL
1. Introducción ESTADÍSTICA CO EXCEL La estadística es la rama de las matemáticas que se dedica al análisis e interpretación de series de datos, generando unos resultados que se utilizan básicamente en
Para aquellos que tengan conocimientos de Access es lo más parecido a una consulta de referencias cruzadas, pero con más interactividad.
Las tablas dinámicas Crear una tabla dinámica Una tabla dinámica consiste en el resumen de un conjunto de datos, atendiendo a varios criterios de agrupación, representado como una tabla de doble entrada
Contenido. Samayra Niebles Velasquez [email protected] www.insser.net
Contenido MACROS EN MS EXCEL... 1 Objetos, propiedades y métodos... 1 Propiedades... 1 Métodos.... 1 Editor de Visual Basic.... 2 Insertar un nuevo módulo.... 2 Insertar un procedimiento.... 2 Ejecutar
Tema 7: Programación con Matlab
Tema 7: Programación con Matlab 1. Introducción Matlab puede utilizarse como un lenguaje de programación que incluye todos los elementos necesarios. Añade la gran ventaja de poder incorporar a los programas
Roberto Quejido Cañamero
Crear un documento de texto con todas las preguntas y respuestas del tema. Tiene que aparecer en él todos los contenidos del tema. 1. Explica qué son los modos de presentación en Writer, cuáles hay y cómo
TUTORIAL SOBRE CÓMO CREAR Y GESTIONAR UN BLOG CON BLOGGER
TUTORIAL SOBRE CÓMO CREAR Y GESTIONAR UN BLOG CON BLOGGER Existen muchos proveedores de servicios para crear un blog. En nuestro caso se ha decidido crear uno en Blogger, que es, a su vez, donde muchas
Programa completo de resolución de ecuaciones de 2º grado
Fundamentos de Informática 2012-2013 Laboratorio 10: Funciones y procedimientos (3) Objetivos: Profundizar en el uso de subprogramas y el paso de parámetros por referencia Profundizar en la manipulación
TEMA 5: HOJAS DE CÁLCULO. Edición de hojas de cálculo con OpenOffice Calc
TEMA 5: HOJAS DE CÁLCULO Edición de hojas de cálculo con OpenOffice Calc Qué vamos a ver? Qué es una hoja de cálculo y para qué sirve El entorno de trabajo de OpenOffice Calc Edición básica de hojas de
3_formato I. NOTA: al pegar unas celdas sobre otras no vacías, se borrará el contenido de estas últimas.
3. Luego se seleccionan las celdas donde se quiere que se sitúen las celdas cortadas. No hace falta seleccionar el rango completo sobre el que se va a pegar, ya que si se selecciona una única celda, Calc
Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.
Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la
CONFEDERACIÓN DE EMPRESARIOS DE MÁLAGA
GUÍA DEL ALUMNO 1 Introducción 2 Acceso a la plataforma 3 Cerrar sesión 4 Estructura del curso virtual 5 Foros 5.1 No quiero recibir copias de los foros en mi email 6 Mensajería Interna 7 Como subir tareas
1. CARACTERÍSTICAS DEL VÍDEO DIGITAL
Unidad 3. CREACIÓN DE VÍDEO DIGITAL CON MAGIX VIDEO DELUXE 1. CARACTERÍSTICAS DEL VÍDEO DIGITAL Con este capítulo iniciamos la parte de vídeo digital. En él veremos los fundamentos y características básicas
MANUAL DE AYUDA MODULO TALLAS Y COLORES
MANUAL DE AYUDA MODULO TALLAS Y COLORES Fecha última revisión: Enero 2010 Índice TALLAS Y COLORES... 3 1. Introducción... 3 CONFIGURACIÓN PARÁMETROS TC (Tallas y Colores)... 3 2. Módulos Visibles... 3
PRÁCTICAS DE GESTIÓN GANADERA:
PRÁCTICAS DE GESTIÓN GANADERA: MANEJO DE HOJA DE CÁCULO (EXCEL) 1. INTRODUCCIÓN AL MANEJO DE EXCEL La pantalla del programa consta de una barra de herramientas principal y de una amplia cuadrícula compuesta
Accesibilidad web GUÍA FUNCIONAL
Accesibilidad web GUÍA FUNCIONAL 0 _ ÍNDICE 01_Introducción 02_Primeros pasos 03_Conceptos 04_Navegación por voz 05_Navegación por teclado 06_Navegación por sonido 07_Compatibilidad con lectores de pantalla
DISEÑADOR DE ESCALERAS
DISEÑADOR DE ESCALERAS Guia del usuario DesignSoft 1 2 DISEÑADOR DE ESCALERAS El Diseñador de Escaleras le hace más fácil definir y colocar escaleras personalizadas en su proyecto. Puede empezar el diseñador
CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.
CONSULTAS CON SQL 1. Qué es SQL? Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia
Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie.
Adaptación al NPGC Introducción Nexus 620, ya recoge el Nuevo Plan General Contable, que entrará en vigor el 1 de Enero de 2008. Este documento mostrará que debemos hacer a partir de esa fecha, según nuestra
Ministerio de Educación. Diseño de Presentaciones en la Enseñanza. Módulo 9: Imprimir
Ministerio de Educación Diseño de Presentaciones en la Enseñanza Módulo 9: Imprimir Instituto de Tecnologías Educativas 2011 Diseño de Presentaciones en la Enseñanza (OpenOffice) Imprimir Imprimir una
PLANTILLAS DE DOCUMENTOS EN WORD 2007
1 PLANTILLAS DE DOCUMENTOS EN WORD 2007 Introducción Una plantilla es un modelo o patrón para crear nuevos documentos. En una plantilla se guarda internamente el formato utilizado, es decir, el estilo
ESTÁNDAR DESEMPEÑO BÁSICO Recopila información, la organiza y la procesa de forma adecuada, utilizando herramientas tecnológicas.
ESTÁNDAR DESEMPEÑO BÁSICO Recopila información, la organiza y la procesa de forma adecuada, utilizando herramientas tecnológicas. Sala de sistemas, Video proyector, Guías RECURSOS ACTIVIDADES PEDAGÓGICAS
Comencemos a programar con. Entrega 09
Comencemos a programar con VBA - Access Entrega 09 Estructuras de Control Eduardo Olaz 09-2 Estructuras de Control. Las estructuras de control son segmentos de código que nos permiten tomar decisiones
Academia técnica de computación A.T.C.
Academia técnica de computación A.T.C. Free Pascal (FPC) El Free Pascal es un compilador Pascal portable, libre y de código abierto, que representa una alternativa a los productos comerciales Turbo Pascal
Microsoft Office XP Excel XP (I)
PRÁCTICA 1 HOJA DE CÁLCULO Microsoft Office XP Excel XP (I) 1. Entrar en Windows 98 (ver práctica 1), y en el Excel abriendo el icono Microsoft Office del escritorio y seleccionar el icono Microsoft Excel,
TEMA 20 EXP. WINDOWS PROC. DE TEXTOS (1ª PARTE)
1. Introducción. TEMA 20 EXP. WINDOWS PROC. DE TEXTOS (1ª PARTE) El Explorador es una herramienta indispensable en un Sistema Operativo ya que con ella se puede organizar y controlar los contenidos (archivos
Trabajar con diapositivas
Trabajar con diapositivas INFORMÁTICA 4º ESO POWERPOINT Una vez creada una presentación podemos modificarla insertando, eliminando, copiando diapositivas, Insertar una nueva diapositiva.- Para insertar
PUESTA EN MARCHA PROGRAMA GESTION DE OPTICAS. Junio - 2004
PUESTA EN MARCHA PROGRAMA GESTION DE OPTICAS Junio - 2004 pmqsoft Servicios Informáticos, S.L. www.pmqsoft.com [email protected] Entendiendo que la instalación ha finalizado y que todo ha salido correctamente.
Comencemos a programar con. Entrega 01
Comencemos a programar con VBA - Access Entrega 01 Introducción 01-2 Planteamiento Este cursillo nace como respuesta a las continuas demandas por parte de los intervinientes en los foros de Access, de
TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B)
APRENDERAPROGRAMAR.COM TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B) Sección: Cursos Categoría: Tutorial básico del programador web:
EL PROGRAMA DE PRESENTACIONES IMPRESS (I)
Bollullos del Cdo. (Huelva) Centro TIC/DIG EL PROGRAMA DE PRESENTACIONES IMPRESS (I) Introducción Básicamente Impress es un programa de presentaciones proyectadas a través de diapositivas (pantallas completas)
MACROS Y FORMULARIOS
MACROS Y FORMULARIOS Para poder realizar formularios en Excel es necesario ubicar el menú programador Qué hacer si no aparece el menú programador? En algunos equipos no aparece este menú, por lo que es
MS ACCESS BÁSICO 6 LOS INFORMES
2010 MS ACCESS BÁSICO 6 LOS INFORMES 93 LOS INFORMES Los informes son una herramienta de Access para elaborar información, sobre los datos que deseemos, preparada para ser impresa. A partir de una base
Introducción. Visual Basic para Aplicaciones (VBA) en Excel: aspectos elementales
Introducción Visual Basic para Aplicaciones (VBA) en Excel: aspectos elementales Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile [email protected]
Mi primer proyecto en Dev-C++
Mi primer proyecto en Dev-C++ Para realizar esta actividad deberás disponer de un ordenador en el que esté instalado el Dev-C++. Debes ir realizando cada uno de los pasos indicados, en el mismo orden en
Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes?
Preguntas frecuentes Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes? Atención! Esta opción es de configuración y solamente la prodrá realizar el administrador de la
TALLER COMPUTACIÓN II
Prof. Martín Ferreyra TALLER COMPUTACIÓN II MANEJO AVANZADO DE MS WORD COMBINAR CORRESPONDENCIA Combinar Correspondencia Instituto Secundario John Kennedy Unidad 2. Combinar correspondencia (I) Mediante
COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER
2011 2012 COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER WWW.FAUBELL.COM [email protected] Hasta ahora hemos visto una pequeña introducción a la creación de las páginas web. No te preocupes por
15 CORREO WEB CORREO WEB
CORREO WEB Anteriormente Hemos visto cómo funciona el correo electrónico, y cómo necesitábamos tener un programa cliente (Outlook Express) para gestionar los mensajes de correo electrónico. Sin embargo,
HIPERVÍNCULOS. Es posible asignar un vínculo a un texto, a una imagen, o a parte de una imagen
HIPERVÍNCULOS Un hiperenlace, hipervínculo, o vínculo, no es más que un enlace, que al ser pulsado lleva de una página o archivo a otra página o archivo. Es posible asignar un vínculo a un texto, a una
Porcentajes. Cajón de Ciencias. Qué es un porcentaje?
Porcentajes Qué es un porcentaje? Para empezar, qué me están preguntando cuando me piden que calcule el tanto por ciento de un número? "Porcentaje" quiere decir "de cada 100, cojo tanto". Por ejemplo,
Formas de Pago y Efectos en Facturas de Venta WhitePaper Febrero de 2007
Formas de Pago y Efectos en Facturas de Venta WhitePaper Febrero de 2007 Contenidos 1. Propósito 3 2. Cuentas Bancarias 4 2.1. Dar de alta un banco 4 3. Formas de pago 6 3.1. Cómo crear formas de pago
Operación de Microsoft Excel
Representación gráfica de datos Generalidades Excel puede crear gráficos a partir de datos previamente seleccionados en una hoja de cálculo. El usuario puede incrustar un gráfico en una hoja de cálculo,
A continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla.
4. TABLAS A continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla. 4.1. Principales Elementos Al momento de generar y diseñar una tabla es importante
Gestión del Stock 1. Creación de referencias 2. Dar de alta a mercancía y proveedores 3. Añadir o eliminar artículos de albarán 4. Etiquetado 5. Consulta de existencias de stock, tipo de proveedor, precio
1 INFORMÁTICA ESO: 4ºA
1 Hoja de cálculo de las Openoffice La hoja de cálculo es una aplicación que sirve para realizar tablas para aplicaciones de lo más variado, para diferentes áreas (Matemáticas, Tecnología, Ciencias, etc).
